我只是让应用程序用户验证已经在数据库中注册的用户。在项目目录(urls.py)中包含 url,从 app 目录在 urls.py 中执行登录页面,在 base.html 中制作模板和链接引用。一切正常,但是当单击登录链接时返回此错误: TemplateDoesNotExist at users/login/我试图根据树导航重命名路径,但总是返回同样的错误。知道发生了什么吗?对不起我的英语我的项目中的树导航是这样的: my_projecturls.py(项目):from django.contrib import adminfrom django.urls import include, pathapp_name = ['app_web_gym', 'users']urlpatterns = [ path('admin/', admin.site.urls), path('users/', include('users.urls', namespace='users')), path('', include('app_web_gym.urls', namespace='app_web_gym')),]网址.py(应用程序)from django.urls import pathfrom django.contrib.auth import views as auth_viewsfrom . import viewsapp_name = 'users'urlpatterns= [ path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),]基础.html:<p> <a href="{% url 'app_web_gym:index' %}">Web Gym</a>- <a href="{% url 'app_web_gym:clientes' %}">Clientes</a>- <a href="{% url 'app_web_gym:treinos' %}">Treinos</a>- <a href="{% url 'app_web_gym:instrutores' %}">Instrutores</a>- {% if user.is_authenticated %} <p>Hello, {{user.username}}.<p/> {% else %} <a href="{% url 'users:login' %}">Login</a> {% endif %}</p>{% block content %} {% endblock content %}登录.html:{% extends 'app_web_gym/base.html' %}{% block content %} {% if form.errors %} <p>Wrong username/password. Try again.</p> {% endif %} <form method='POST' action="{% url 'users:login' %}"> {% csrf_token %} {{form.as_p}} <button name='submit'>Log in</button> <input type='hidden' name='next' value="{% url 'app_web_gym:index' %}" /> </form>{% endblock content %}我打印了完整的错误: TemplateDoesNotExist我注意到说Django 尝试在最后一行按此顺序加载这些模板->/home/at_admin/prj01/app_web_gym/templates/users/login.html(来源不存在)那是 login.html 的错误路径,正确的是/home/at_admin/prj01/users/templates/users/login.html如树导航所示。我不知道为什么会这样,也不知道如何解决。
3 回答
萧十郎
TA贡献1815条经验 获得超13个赞
您是否已在主 settings.py 中注册您的应用程序?当您忘记注册您的应用程序时,有时会发生
在主 settings.py 文件中:
在末尾,再添加一行
INSTALLED_APPS =
['appname'](将 appname 替换为具有登录页面的应用程序的名称)
九州编程
TA贡献1785条经验 获得超4个赞
首先,您应该检查您的设置中是否安装了该应用程序。正如它在错误中所看到的那样,文件被看错了地方(app_web_gym/users/login.html)而不是(users/login.html)。所以我想你在 settings.py 中安装你的应用程序时犯了一个错误。
添加回答
举报
0/150
提交
取消