我不明白为什么Django内置的“Reverse”功能不起作用

问题描述 投票:0回答:1

我正在尝试用 python 学习 Django,今天,我偶然发现了这个错误: “/downloader/ 处没有ReverseMatch 未找到“登录”的反向操作。 ‘login’不是有效的视图函数或模式名称。”

我不确定为什么会发生这种情况,但这是我的代码:

(这是views.py代码)

if not request.user.is_authenticated:
    return HttpResponseRedirect(reverse("login"))

(这是我的urls.py)

urlpatterns = [
path("", views.index, name="index"),
path("add/", views.add, name="add"),
path('scrape/', views.scrape_all, name='scrape_all'),
path('find_url/', views.find_song_urls, name='find_song_urls'),
path('downloader/', views.downloader, name="downloader"),
path("login/", views.login_view, name="login"),
path("logout/", views.logout_view, name="logout"),
path("create_acount/", views.create_account, name="create_account")
]

我只是想用我的项目创建一个登录功能,但我不明白我做错了什么。

python django function url reverse
1个回答
0
投票

问题解决了。如果有人寻求相同的答案:

对于像reverse()或reverse_lazy()这样的快捷方式,Django需要url名称和你的应用程序名称。 模式是“app_name:url_name”

© www.soinside.com 2019 - 2024. All rights reserved.