django模板路径
admin
2023-07-30 20:43:35
0

软件环境: windows7+Python2.7.9+Django1.8.2
今天在学到Django模板的时候,关于setting.py中配置模板路径TEMPLATE_DIRS出现了一些问题。

一、模板应用实例

按照Django模板的指示,将在 HelloWorld 目录底下创建 templates 目录并建立 hello.html文件,整个目录结构如下:


templates01.png

然后向Django说明模板文件的路径,修改HelloWorld/settings.py,添加以下代码:

Template dir

TEMPLATE_DIRS = (
os.path.join(BASE_DIR, \’templates\’).replace(\’\\\’,\’/\’),
)

二、模板路径问题

然后运行命令:

python manage.py runserver

再访问 http://127.0.0.1:8000/hello/ ,可以看到页面:


templates02.png

注意: 根据错误提示信息,是加载templates的时候出现错误,直接去D:\\study\\Python2.7\\lib\\site-packages\\django\\contrib\\admin\\templates\\hello.html找模板了。

三、解决思路:

1 我把hello.html文件复制到D:\\study\\Python2.7\\lib\\site-packages\\django\\contrib\\admin\\templates\\目录下,再访问 http://127.0.0.1:8000/hello/ ,可以看到页面:


templates03.png

这个结果让我明白问题在于 模板路径TEMPLATE_DIRS 。。

2 将templates文件夹放在E:\\data_workspace\\HelloWorld\\HelloWorld目录下。


templates04.png

然后访问http://127.0.0.1:8000/hello/, 问题依然存在。


templates05.png

从上面可以看出,Template Loader没有查找HelloWorld目录。这说明HelloWold没有映射到Django中。
3 修改HelloWorld/settings.py,添加以下代码:

INSTALLED_APPS = (
\’django.contrib.admin\’,
\’django.contrib.auth\’,
\’django.contrib.contenttypes\’,
\’django.contrib.sessions\’,
\’django.contrib.messages\’,
\’django.contrib.staticfiles\’,
\’HelloWorld\’,
)

4 然后访问http://127.0.0.1:8000/hello/ ,问题解决,理解了模板的绝对路径。

四、其他问题

绝对路径
在windows下也可以设置成绝对路径,将TEMPLATE_DIRS路径设置为:

TEMPLATE_DIRS = ( \’ E:\\data_workspace\\HelloWorld\\HelloWorld\\templates \’,)

这种情况会出错。
解决方案:
Windows用户必须使用斜杠而不是反斜杠,所以只要需要改为即可

TEMPLATE_DIRS = ( \’ E:/data_workspace/HelloWorld/HelloWorld/templates \’,)

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...