为了账号安全,请及时绑定邮箱和手机立即绑定

django 无法显示模板 - 如何修复

django 无法显示模板 - 如何修复

蓝山帝景 2023-01-04 10:19:33
我只是让应用程序用户验证已经在数据库中注册的用户。在项目目录(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 替换为具有登录页面的应用程序的名称)


查看完整回答
反对 回复 2023-01-04
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

大家好,我刚刚删除了所有应用程序用户,并使用我之前复制的相同编码重新创建了它。这次成功了,但仍然不知道发生了什么。



查看完整回答
反对 回复 2023-01-04
?
九州编程

TA贡献1785条经验 获得超4个赞

首先,您应该检查您的设置中是否安装了该应用程序。正如它在错误中所看到的那样,文件被看错了地方(app_web_gym/users/login.html)而不是(users/login.html)。所以我想你在 settings.py 中安装你的应用程序时犯了一个错误。



查看完整回答
反对 回复 2023-01-04
  • 3 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信