path('accounts/', include(accounts.urls)), NameError: name 'accounts' is not defined

path('accounts/', include(accounts.urls)), NameError: name 'accounts' is not defined

我刚刚克隆了 ProductHunt.com 网站,在处理 URL 时出现名称错误!当我键入 'localhost:8000/accounts/signup' 时,它应该会带我到我为测试所做的 html 页面!主要 urls.py 看起来像:

from django.contrib import admin
from django.urls import path, include
from products import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name="home"),
    path('accounts/', include(accounts.urls)),
]

因此它会转到帐户文件夹 urls.py,如下所示: 来自 django.urls 导入路径,包括 来自 .import views

urlpatterns = [
    path('signup', views.signup, name="signup"),
    path('login', views.login, name="login"),
    path('logout', views.logout, name="logout"),
]

然后进入 views.py,看起来像: 来自 django.shortcuts 导入渲染

def signup(request):
    return render(request, 'accounts/signup.html')

def login(request):
    return render(request, 'accounts/login.html')

def logout(request):
    return render(request, 'accounts/signup.html')

最后我的 html 是:

{% extends 'base.html %}

{% block content %}

signup!

{% endblock %}

为什么我收到名称错误:

  File "C:\Users\Kiran\Desktop\producthunt-project\producthunt\urls.py", line 8,
 in <module>
    path('accounts/', include(accounts.urls)),
NameError: name 'accounts' is not defined

帮帮我, 谢谢,

替换您的代码

urlpatterns = [
    ...
    path('accounts/', include(accounts.urls)),
]

urlpatterns = [
    ...
    path('accounts/', include('accounts.urls')),
]

并确保您已在已安装的应用中添加 'accounts'。