【问题标题】:Template Error in DjangoDjango中的模板错误
【发布时间】:2015-12-13 07:15:03
【问题描述】:

在我的博客文件夹中,如屏幕截图所示,有帐户文件夹

然后我从主页进入下一页到帐户文件夹中的登录页面

我收到以下错误

谁能帮帮我

这里是settings.py文件

"""

Django settings for luckdrum project.

Generated by 'django-admin startproject' using Django 1.8.4.

For more information on this file, see
https://docs.djangoproject.com/en/1.8/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.8/ref/settings/
"""

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'q^6oh!prd$jt*@sz@#&n(i5$etxv-13-pr+%x9_0y$#7$tnfq('

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'blog',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
)

ROOT_URLCONF = 'luckdrum.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION = 'luckdrum.wsgi.application'
TEMPLATE_DIRS=('/home/usman/Django Project/django-black/luckdrum/blog/templates/',
               '/home/usman/Django Project/django-black/luckdrum/blog/accounts/',




)
LOGIN_REDIRECT_URL = '/'
# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


# Internationalization
# https://docs.djangoproject.com/en/1.8/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
#STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
TEMPLATE_DEBUG =True 

错误控制台输出:

Internal Server Error: /accounts/signin.html/
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 149, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 147, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/usman/Django Project/django-black/luckdrum/blog/views.py", line 27, in login
    return render_to_response('accounts/signin.html')
  File "/usr/local/lib/python2.7/dist-packages/django/shortcuts.py", line 39, in render_to_response
    content = loader.render_to_string(template_name, context, using=using)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 96, in render_to_string
    template = get_template(template_name, using=using)
  File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 43, in get_template
    raise TemplateDoesNotExist(template_name, chain=chain)
TemplateDoesNotExist: accounts/signin.html
[13/Dec/2015 07:06:07] "GET /accounts/signin.html/ HTTP/1.1" 500 75747

【问题讨论】:

  • 添加错误文本和你的 settings.py
  • 我没有看到那里的错误。您已经发布了堆栈跟踪的一部分。请张贴文字而不是图片。
  • 您的 html 文件应位于名为模板的文件夹中。帐户无法使用

标签: django django-templates django-views


【解决方案1】:

将模板文件从帐户文件夹移动到模板文件夹,将静态文件移动到相应的静态文件夹。 Django 只在名为 templates 的文件夹中查找模板文件。

还将原来的render_to_response改成render_to_response('signin.html')

【讨论】:

  • 我在 settings.py 中添加了以下几行不应该也可以吗? TEMPLATE_DIRS=('/home/usman/Django Project/django-black/luckdrum/blog/accounts/',)
  • 把原来的render_to_response改成render_to_response('signin.html')
  • 因为我添加了 template_dirs 并添加了 render_to_response('signin.html') 它仍然显示相同的错误模板未找到。我做对了吗?
  • 错误页面必须向您显示它尝试过的目录列表?可以分享一下列表吗?
  • 它给了我同样的旧错误,因为我模板不存在。
猜你喜欢
  • 2011-11-08
  • 2011-08-28
  • 2015-09-11
  • 2016-02-23
  • 2017-03-12
  • 1970-01-01
  • 2021-07-01
  • 1970-01-01
  • 2021-06-25
相关资源
最近更新 更多