我只是让应用程序用户验证已经在数据库中注册的用户。在项目目录(urls.py)中包含 url,从 app 目录在 urls.py 中执行登录页面,在 base.html 中制作模板和链接引用。一切正常,但是当单击登录链接时返回此错误: TemplateDoesNotExist at users/login/
我试图根据树导航重命名路径,但总是返回同样的错误。知道发生了什么吗?
对不起我的英语
我的项目中的树导航是这样的: my_project
urls.py(项目):
from django.contrib import admin
from django.urls import include, path
app_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 path
from django.contrib.auth import views as auth_views
from . import views
app_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如树导航所示。我不知道为什么会这样,也不知道如何解决。
萧十郎
回首忆惘然
九州编程
相关分类