我正在尝试用 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")
]
我只是想用我的项目创建一个登录功能,但我不明白我做错了什么。
问题解决了。如果有人寻求相同的答案:
对于像reverse()或reverse_lazy()这样的快捷方式,Django需要url名称和你的应用程序名称。 模式是“app_name:url_name”