错误:Django.url.exceptions.NoReverseMatch:找不到“login”的反向“登录名”不是有效的视图函数或模式名称

2024-04-26 00:21:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个奇怪的错误。我反复检查我的代码,似乎找不到错误。我写的登录功能,工作很好,增加了注销功能,工作也很好。但是,当我试图运行基本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/'

有人能看到我遗漏了什么吗


Tags: pathnamepyformgetindexreturnrequest