我有一个奇怪的错误。我反复检查我的代码,似乎找不到错误。我写的登录功能,工作很好,增加了注销功能,工作也很好。但是,当我试图运行基本url(我应该在那里访问主页(http://192.168.2.80:8000/)时,它给了我以下错误:
django.urls.exceptions.NoReverseMatch: Reverse for 'login' not found. 'login' is not a valid view function or pattern name.
我也添加了装饰程序,以限制页面,但无法理解错误的原因
viwes.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})
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:
app_name = 'feedback'
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('feedback.urls')),
]
我还将这些行添加到我的设置中。py:
LOGIN_URL = "login"
LOGOUT_REDIRECT_URL = '/admin/'
有人能看到我遗漏了什么吗
您的
urls.py
中有app_name = 'feedback
。因此,您应该将feedback
名称空间包含在LOGIN_URL
中,就像您在redirect('feedback:index')
中所做的那样相关问题 更多 >
编程相关推荐