Django:URL没有提供正确的页面

时间:2016-02-17 06:46:06

标签: python django django-views django-urls

我正在学习django,在我的应用中,我有一个 urls.py ,其中包含 2 urlpatterns 无论我在浏览器中使用的是什么网址,仅重定向到第一个网址

我的网址


MEDIUM_RAISE
BIG_RAISE

my views.py

urlpatterns = [
    url(r'^', views.index, name='index'),
    url(r'^contact/', views.contact, name='contact')
]

我的表单

def index(request):
    title = 'welcome'
    form = SignupForm(request.POST or None)
    context={'title':title,'form':form}
    if form.is_valid():
        instance=form.save(commit=False)
        email= form.cleaned_data['email']
        email_save,created=Signup.objects.get_or_create(email=email)

    return render(request,'index.html',context)

def contact(request):
    contact_info=ContactForm(request.POST or None)
    if contact_info.is_valid():
        contact_info.save(commit=False)
        print contact_info.cleaned_data['name']

    return render(request,'contact.html',{'contact_info':contact_info})

根据我的 联系人网址 ,它应该为我提供 contact.html ,但它只提供 的index.html enter image description here

可能是什么问题?

1 个答案:

答案 0 :(得分:3)

您需要将第一个重定向行更改为

url(r'^$', views.index, name='index')

因为联系人页面网址模式包含^(索引页的网址格式),它会将您重定向到索引页面。如果您更改如上所述,则仅当网址字符串后跟空字符串时才会显示index页面。