Django 1.7 模板路径问题

2014-10-24 17:32:47 +08:00
 34D

这几天在看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

5123 次点击
所在节点    Python
5 条回复
34D
2014-10-24 17:42:30 +08:00
我靠,怎么是这幅样子。
哭了。
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')]
wangyongbo
2014-10-28 19:29:33 +08:00
我觉得你这个不是因为模版路径的问题,你用的open去打开文件,他会在你这整个项目的根目录找这个文件。你可以Open换成render_to_string
34D
2014-10-28 21:54:51 +08:00
@wangyongbo 对的,我后来用render_to_reponse了。
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/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/141289

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX