Django:URL 没有提供正确的页面
Django : URL is not serving the correct page
我正在学习 Django,在我的应用程序中,我有一个 urls.py,它有 2 url 模式 在里面。 无论 我在浏览器中使用什么 url,它 只重定向到第一个 url
我的url
urlpatterns = [
url(r'^', views.index, name='index'),
url(r'^contact/', views.contact, name='contact')
]
我的views.py
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})
我的表格
class SignupForm(forms.ModelForm):
class Meta:
model = Signup
fields = ['fullname','email']
class ContactForm(forms.Form):
name=forms.CharField(max_length=128, required=True,)
email=forms.EmailField(required=True)
phone=forms.IntegerField(max_value=10)
message=forms.TextInput()
根据我的 联系人 url 它应该给我 contact.html,但它只呈现 index.html
可能是什么问题?
您需要将第一个重定向行更改为
url(r'^$', views.index, name='index')
因为联系页面 url 模式包含 ^
(url 索引页面模式),它会将您重定向到索引页面。如果您像上面那样更改,只有当 url 字符串后跟一个空字符串时,才会显示 index
页面。
我正在学习 Django,在我的应用程序中,我有一个 urls.py,它有 2 url 模式 在里面。 无论 我在浏览器中使用什么 url,它 只重定向到第一个 url
我的url
urlpatterns = [
url(r'^', views.index, name='index'),
url(r'^contact/', views.contact, name='contact')
]
我的views.py
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})
我的表格
class SignupForm(forms.ModelForm):
class Meta:
model = Signup
fields = ['fullname','email']
class ContactForm(forms.Form):
name=forms.CharField(max_length=128, required=True,)
email=forms.EmailField(required=True)
phone=forms.IntegerField(max_value=10)
message=forms.TextInput()
根据我的 联系人 url 它应该给我 contact.html,但它只呈现 index.html
可能是什么问题?
您需要将第一个重定向行更改为
url(r'^$', views.index, name='index')
因为联系页面 url 模式包含 ^
(url 索引页面模式),它会将您重定向到索引页面。如果您像上面那样更改,只有当 url 字符串后跟一个空字符串时,才会显示 index
页面。