这是我的网站网址http://webtrick.heliohost.org/ 我的模板目录设置:
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__) , 'templates').replace('\\','/')
)
from django.http import HttpResponse
from django.template import Template , Context
from django.shortcuts import render_to_response
def index(request):
return render_to_response('index.html')
from django.conf.urls.defaults import patterns, include, url
from webtrickster.views import index
urlpatterns = patterns('',
url(r'^$', index)
)
我不知道这段代码有什么问题 任何帮助赞赏
答案 0 :(得分:34)
确保您的Django应用程序位于settings.py中的INSTALLED_APPS中。这是我的问题。因此,如果您的民意调查应用程序文件夹中有模板文件夹,则需要在设置文件中的已安装应用程序末尾添加“民意调查”。
答案 1 :(得分:9)
将您的应用程序添加到INSTALLED_APPS的setting.py结尾,如下所示:
javac
你的模板目录应该像
一样神秘INSTALLED_APPS = [
...
'django.contrib.staticfiles',
'mysite'
]
答案 2 :(得分:5)
os.path.join(os.path.dirname(__file__) ,'../templates').replace('\\','/')
这对我有用。
答案 3 :(得分:4)
首先,您需要在django项目文件夹中创建一个名为“templates”的文件夹,然后,您可以通过两种方式添加模板目录,打开您的设置文件,然后添加以下任何代码
1)您可以通过
直接指定模板路径 TEMPLATE_DIRS = (
'D:/Django/web/Kindset/templates' #your file path ,this is my template directory path
)
2)或者如果你想使用通用路径意味着使用
TEMPLATE_DIRS = (
'os.path.join(BASE_DIR, "templates"),'
)
答案 4 :(得分:2)
我浪费了很多时间试图弄清楚我的'templates'
目录出了什么问题,然后弄清楚了:
您可能已经忘记在TEMPLATE_DIR
的以下段中添加settings.py
了:
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',
],
},
},
]
因此它应该有'DIRS': [TEMPLATE_DIR,],
而不是'DIRS': [],
答案 5 :(得分:0)
TEMPLATE_DIRS =( “mysite的/模板” )
答案 6 :(得分:0)
我的模板文件夹不是python包,因为它缺少__init__.py文件。 这可能就是为什么Django没有找到我的模板的原因。
答案 7 :(得分:0)
答案 8 :(得分:0)
这里有许多很好的答案,但是在更新旧项目(噩梦=百日草属,django_cms,AUTH_USER_MODEL ='accounts.CustomUser')时,该项目并未进行维护(从django 1.6到django 1.7),这是一个漫长过程的第一步,我发现没有任何效果。然后我注意到错误在尝试加载的模板周围带有引号:
/home/vagrant/venv/crowd88/local/lib/python2.7/site-packages/djangocms_admin_style/templates/'core/includes/ga.html' (File does not exist)
所以我查看了源代码,发现引号是这样删除的:
# lib/python2.7/site-packages/cms/utils/plugins.py
...
template = get_template(force_unicode(node.template).strip('"'))
...
然后我注意到装载程序中使用了单引号
{% include core/includes/ga.html' %}
所以解决方法是
{% include "core/includes/ga.html" %}
使用正则表达式过程
答案 9 :(得分:0)
将“模板”文件夹移动到主文件夹,而不是任何子文件夹。或与其他项目文件夹位于同一级别。这可能是Django无法定位我的模板的原因。 完成此操作后,我的项目开始工作。
答案 10 :(得分:0)
默认情况下,在settings.py文件中,“ DIRS ”数组为空,如下所示。
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',
],
},
},
]
因此,要解决此问题,只需将 BASE_DIR /'templates'添加到数组中,如下所示。而且你很好走。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'],
'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',
],
},
},
]
答案 11 :(得分:0)
转到settings.py文件并检查“模板”部分。注意DIR值,默认情况下应为[]。在其中添加“ os.path.join(BASE_DIR,'模板')”。它应该看起来像这样:
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.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
答案 12 :(得分:-1)
确保您的settings.py中的dirs目录如下所示:
'DIRS': [os.path.join(BASE_DIR, 'templates')],