Python 错误:django.url.exceptions.NoReverseMatch:Reverse for';登录';没有找到';登录';不是有效的视图函数或模式名称
我有一个奇怪的错误。我反复检查我的代码,似乎找不到错误。我写的登录功能,工作很好,增加了注销功能,工作也很好。但是,当我尝试运行基本url(我应该转到主页())时,它给了我以下错误: django.url.exceptions.NoReverseMatch:找不到“登录”的反向。 “login”不是有效的视图函数或模式名称 我也添加了装饰程序,以限制页面,但无法理解错误的原因 viwes.py:Python 错误:django.url.exceptions.NoReverseMatch:Reverse for';登录';没有找到';登录';不是有效的视图函数或模式名称,python,django,python-3.8,django-2.2,Python,Django,Python 3.8,Django 2.2,我有一个奇怪的错误。我反复检查我的代码,似乎找不到错误。我写的登录功能,工作很好,增加了注销功能,工作也很好。但是,当我尝试运行基本url(我应该转到主页())时,它给了我以下错误: django.url.exceptions.NoReverseMatch:找不到“登录”的反向。 “login”不是有效的视图函数或模式名称 我也添加了装饰程序,以限制页面,但无法理解错误的原因 viwes.py: @login_required def index(request): return ren
@login_required
def index(request):
return render(request, 'dashboard.html')
def loginPage(request):
form = AuthenticationForm()
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
if request.GET.get('next'):
return redirect(request.GET.get('next'))
else:
return redirect('feedback:index')
return render(request, 'login.html', {'form': form})
app_name = 'feedback'
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('feedback.urls')),
]
LOGIN_URL = "login"
LOGOUT_REDIRECT_URL = '/admin/'
url.py
app_name = 'feedback'
urlpatterns = [
path('login/', views.loginPage, name="login"),
path('logout/', views.logoutUser, name="logout"),
path('', views.index, name="index"),
]
根URL.py:
@login_required
def index(request):
return render(request, 'dashboard.html')
def loginPage(request):
form = AuthenticationForm()
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
if request.GET.get('next'):
return redirect(request.GET.get('next'))
else:
return redirect('feedback:index')
return render(request, 'login.html', {'form': form})
app_name = 'feedback'
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('feedback.urls')),
]
LOGIN_URL = "login"
LOGOUT_REDIRECT_URL = '/admin/'
我还将这些行添加到我的设置中。py:
@login_required
def index(request):
return render(request, 'dashboard.html')
def loginPage(request):
form = AuthenticationForm()
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
if request.GET.get('next'):
return redirect(request.GET.get('next'))
else:
return redirect('feedback:index')
return render(request, 'login.html', {'form': form})
app_name = 'feedback'
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('feedback.urls')),
]
LOGIN_URL = "login"
LOGOUT_REDIRECT_URL = '/admin/'
任何人都可以看到我遗漏了什么?你的
url.py
中有app\u name='反馈。因此,您应该在LOGIN\u URL
中包含feedback
命名空间,就像您在redirect('feedback:index')
中所做的那样