我正在开发一个新的Django项目,并且很难让index.html页面正确显示。有关改变什么以使其正确显示的任何建议吗?
我收到了错误
TemplateDoesNotExist at /
index.html
我的每个文件的设置如下。
myprojectname / myprojectname / settings.py
import os
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'templates/static')
TEMPLATE_DIRS = (
PROJECT_ROOT + '../templates'
)
myprojectname / myprojectname / urls.py
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^', 'apps.views.index'),
url(r'^admin/', include(admin.site.urls)),
)
myprojectname /应用/ views.py 来自django.shortcuts导入render_to_response
def index(request):
return render_to_response('index.html', locals())
我也是Django的新手,所以不要讨厌! :)我很乐意承认我是个菜鸟......
答案 0 :(得分:1)
设置模板目录:
PROJECT_DIR = os.path.dirname(__file__)
TEMPLATE_DIRS = (
os.path.join(PROJECT_DIR, 'templates'),
)
您的文件夹结构应类似于:
project_name/
project_name/
settings.py
templates/
index.html
文件夹结构尤为重要!
如果您还没有定义模板加载器:
TEMPLATE_LOADERS = (
('django.template.loaders.cached.Loader', (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)),
)
我已经使用cached.Loader
包装了标准加载器,这有趣的只是缓存预编译的模板。
此外,当我在这里时,修复您的根URL:
urlpatterns = patterns('',
url(r'^$', 'apps.views.index'),
请注意额外的$
终止正则表达式的结尾,否则第一个网址将匹配每个网址,其他网址都不会有机会匹配。
答案 1 :(得分:0)
试试这个..
TEMPLATE_DIRS = (
PROJECT_ROOT + '../templates/'/
)