这几天在看Django,今天碰到了一个模板的路径问题。首先我的文件结构是这样的
/mysite
/mysite
view.py
settings.py
urls.py
…
/templates
index.html
db.sqlite3
manage.py
view里的代码如下
def test(request):
html = open(“index.html”).read()
return HttpResponse(html, content_type=“text/html”)
但是出现了错误,说找不到index文件。于是google之,说在settings.py重加入
TEMPLATEDIRS = (
os.path.join(os.path.dirname(file_), 'templates').replace('\','/'),
)
能解决。果断加上,调试,不行。而且网上也有人说1.6之后不用手动设置TEMPLATE_DIRS,求大神解救,已经困扰我一下午了。T_T
1
34D OP 我靠,怎么是这幅样子。
哭了。 |
2
mickeyandkaka 2014-10-24 18:44:08 +08:00
用tree命令打出来...
我的是 import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')] |
3
wangyongbo 2014-10-28 19:29:33 +08:00 via iPhone 1
我觉得你这个不是因为模版路径的问题,你用的open去打开文件,他会在你这整个项目的根目录找这个文件。你可以Open换成render_to_string
|
4
34D OP @wangyongbo 对的,我后来用render_to_reponse了。
|
5
NearTan 2014-11-10 18:33:09 +08:00
根据最新的(1.7)官方文档 若 app 名字为 polls
默认路径为 polls/templates/polls/index.html 附连接 https://docs.djangoproject.com/en/1.7/intro/tutorial03/ |