如何让 django 知道模板目录?
Posted
技术标签:
【中文标题】如何让 django 知道模板目录?【英文标题】:How to make django aware of templates directory? 【发布时间】:2014-10-14 09:33:55 【问题描述】:我正在尝试使用 Django 书籍跟随 tango 并构建 Rango 应用程序,但现在我不确定如何让 django 了解我的模板目录:
Views.py:
from django.http import HttpResponse
from django.template import RequestContext
from django.shortcuts import render_to_response
def index(request):
context = RequestContext(request)
context_dict = 'boldmessage': "I am bold"
return render_to_response('/rango/index.html', context_dict, context)
def about(request):
return HttpResponse("Hello Amir")
Settings.py:
import os
SETTINGS_DIR = os.path.dirname(__file__)
PROJECT_PATH = os.path.join( SETTINGS_DIR, os.pardir)
PROJECT_PATH = os.path.abspath(PROJECT_PATH)
TEMPLATE_PATH = os.path.join( PROJECT_PATH, 'templates')
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
SECRET_KEY = 't0qwy81#5-jd(wtxqp$6_p%@l@lthq5qyb-35vyp=g+h!k+h+n'
DEBUG = True
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'rango',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'RangoTango.urls'
WSGI_APPLICATION = 'RangoTango.wsgi.application'
DATABASES =
'default':
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
TEMPLATE_DIR = (
TEMPLATE_PATH,
)
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/static/'
错误:
请求方法:GET 请求网址:127-0-0-1 Django 版本:1.6.5 异常类型:TemplateDoesNotExist 异常值: /rango/index.html 异常位置:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/
【问题讨论】:
我不知道是不是问题所在,但在对render_to_response
的调用中,模板名称上不应有前导/
。
我自己解决了这个问题,将静态文件夹移动到我的应用程序文件夹中。
@JustLeraning - 您能否将其发布为将来参考的答案?
【参考方案1】:
我必须将该文件夹移动到我的应用程序文件夹才能使其正常工作
【讨论】:
以上是关于如何让 django 知道模板目录?的主要内容,如果未能解决你的问题,请参考以下文章
如何让下拉选择从 Django 模型中填充模板中的 DataTables 表?
如何让 Django 看到 Vue.js 编译生成的 dist/static 下的文件?
来自 % for % 的 Django 模板变量循环到 Javascript