我只是讓應用程序用戶驗證已經在數據庫中注冊的用戶。在項目目錄(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
提交
取消