如何让 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

如何在 Django 模板中获取当前 URL?

django 模板:如何知道表单字段类型并根据字段类型添加任何按钮

如何在 Django 模板中获取当前 URL?