【问题标题】:Django : URL is not serving the correct pageDjango:URL 没有提供正确的页面
【发布时间】:2023-03-06 23:24:01
【问题描述】:

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

我的网址

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

我的意见.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()

根据我的 contact url,它应该给我 contact.html,但它只呈现 >index.html

可能是什么问题?

【问题讨论】:

  • 将第一个重定向行改为url(r'^$', views.index, name='index'),
  • 谢谢.......它现在工作正常............干杯

标签: python django django-views django-urls


【解决方案1】:

你需要把第一个重定向行改为

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

因为联系页面 url 模式包含 ^(索引页面的 url 模式),它将您重定向到索引页面。如果你像上面这样改变,index 页面应该只在 url 字符串后跟一个空字符串时显示。

【讨论】:

    猜你喜欢
    • 2012-04-01
    • 2018-02-27
    • 2023-04-02
    • 2013-01-04
    • 2019-02-20
    • 2018-05-04
    • 2012-07-21
    • 2021-10-26
    • 1970-01-01
    相关资源
    最近更新 更多