gpt4 book ai didi

python - django.urls.exceptions.NoReverseMatch : Reverse for 'sign_up' not found. 'sign_up' 不是有效的 View 函数或模式名称

转载 作者:太空狗 更新时间:2023-10-30 01:26:22 33 4
gpt4 key购买 nike

Django 版本 1.11.5,

View .py

class SignupPage(CreateView):
form_class = forms.UserSignupForm
success_url = reverse_lazy('login')
template_name = 'signup.html'

网站/urls.py

from django.conf.urls import url
from django.contrib.auth import views as auth_views
from django.contrib.auth.views import LoginView,LogoutView
from . import views

app_name = 'website'

urlpatterns = [

url(r'^login/', auth_views.LoginView.as_view(template_name='signin_2_w.html'), name='login'),
url(r'^logout/$', auth_views.LogoutView.as_view(), name='logout'),
url(r'^signup/', views.SignupPage.as_view(), name='sign_up'),

表单.py

class UserSignupForm(UserCreationForm):

class Meta:
fields = ('username','email','password1','password2')


model = get_user_model()

def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
self.fields['username'].label = "Display Name"
self.fields['email'].label = "Email Address"
self.fields['password1'].label = "Password"
self.fields['password2'].label = "Confirm Password"

项目/urls.py

urlpatterns = [

url(r'^admin/', admin.site.urls),
url(r'^$',views.HomePage.as_view(),name='home'),
url(r'^website/',include('website.urls',namespace='website')),
url(r'^website/',include('django.contrib.auth.urls')),
url(r'^website/',views.StreamyePage.as_view(),name='streamye'),
url(r'^thanks/$',views.ThanksPage.as_view(),name='thanks'),
url(r'^congrats/$',views.CongratsPage.as_view(),name='congrats'),
url(r'^aboutus/$',views.AboutusPage.as_view(),name='about_us'),

HTML

<ul class="nav navbar-nav navbar-right">
{% if user.is_authenticated %}
<li><a href="{% url 'logout' %}">Logout</a></li>
{% else %}
<li><a href="{% url 'login' %}">Login</a></li>
<li><a href="{% url 'sign_up' %}">Signup</a></li>
{% endif %}
</ul>

在上面的代码中,注册页面向我抛出一个错误——“django.urls.exceptions.NoReverseMatch: Reverse for 'sign_up' not found。'sign_up' 不是有效的 View 函数或模式名称。”

请有人帮我解决我的错误!提前致谢!

最佳答案

您必须修复模板中的链接以定位网站 url:

 {% if user.is_authenticated %}
<li><a href="{% url 'website:logout' %}">Logout</a></li>
{% else %}
<li><a href="{% url 'website:login' %}">Login</a></li>
<li><a href="{% url 'website:sign_up' %}">Signup</a></li>
{% endif %}

关于python - django.urls.exceptions.NoReverseMatch : Reverse for 'sign_up' not found. 'sign_up' 不是有效的 View 函数或模式名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46795690/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com