首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用Django实现登录应用程序时出错

尝试使用Django实现登录应用程序时出错
EN

Stack Overflow用户
提问于 2017-06-14 09:25:35
回答 2查看 55关注 0票数 1

我面临一个问题。我正在尝试使用Django实现login/logup应用程序,但是在登录页面中,我得到了以下错误。

代码语言:javascript
复制
TemplateDoesNotExist at /login/
login.html
Request Method: GET
Request URL:    http://127.0.0.1:8000/login/
Django Version: 1.11.2
Exception Type: TemplateDoesNotExist
Exception Value:    
login.html
Exception Location: /usr/local/lib/python2.7/dist-packages/django/template/loader.py in select_template, line 53
Python Executable:  /usr/bin/python
Python Version: 2.7.6

我正在下面解释我的login.html页面。

代码语言:javascript
复制
{% extends 'base.html' %}

{% block title %}Login{% endblock %}

{% block content %}
  <h2>Login</h2>
  <form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Login</button>
  </form>
{% endblock %}

urls.py:

代码语言:javascript
复制
from django.conf.urls import url
from django.contrib import admin
from django.contrib.auth import views as auth_views
from django.views.generic.base import TemplateView

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', TemplateView.as_view(template_name='home.html'), name='home'),
    url(r'^login/$', auth_views.login, {'template_name': 'login.html'}, name='login'),
    url(r'^logout/$', auth_views.logout, {'template_name': 'logged_out.html'}, name='logout'),
]

请帮助我解决这个错误。

EN

回答 2

Stack Overflow用户

发布于 2017-06-14 09:35:26

在settings.py中设置模板dir路径

os.path.join(BASE_DIR,“模板”)

代码语言:javascript
复制
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.template.context_processors.static',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

你的项目结构:

代码语言:javascript
复制
project
  |---- project
  |---- templates
  |----- static
票数 0
EN

Stack Overflow用户

发布于 2017-06-14 10:07:24

我认为您需要在settings.py中设置模板DIRS,如下所示:

代码语言:javascript
复制
TEMPLATES = [
    {
        ...
        'DIRS': [os.path.join(BASE_DIR, 'templates/ariticle'), ], # define your template dir
        ...
    },
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44540677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档