path('accounts /',include(accounts.urls)),NameError:未定义名称'accounts'

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

我只是复制了ProductHunt.com网站,在解决网址时我收到错误名称错误!当我输入'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视图

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')

Atlast我的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

帮助我,谢谢,

python django python-3.x django-views django-urls
1个回答
1
投票

替换你的代码

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

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

并确保您已在已安装的应用中添加了“帐户”。

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