为什么templates下已经添加了已项目名命名的目录,如果用了DTL,Django还是分不清返回哪个应用的页面?
在Templates中添加了以项目名命名的目录,把html文件放在这个目录里,两个应用返回的render()都不带第三个参数,Django就可以区分开两个应用的index.html了,但在blog的render()中添加了第三个参数,在页面中调用 {{hello}},再访问blog2的时候就还是返回blog的页面,这是什么情况?
在Templates中添加了以项目名命名的目录,把html文件放在这个目录里,两个应用返回的render()都不带第三个参数,Django就可以区分开两个应用的index.html了,但在blog的render()中添加了第三个参数,在页面中调用 {{hello}},再访问blog2的时候就还是返回blog的页面,这是什么情况?
2017-01-15
这种情况确实没有遇到过,既然你确定字典不一样,那我估计应该是其他一些细节处理上出现了问题,譬如:
Templates目录下要添加以[应用名]命名的目录,你的问题里写的是[项目名],应该是你笔误了。检查一下两个目录名,一个是blog,一个是blog2,有没有写错。
render()的第二个参数,'app_name/page_name.html',这个不要写错。在上一步,就是添加目录之前,这个参数一直都是'index.html',然后如果你用的是Pycharm,这货会自动给你把路径补全,看上去是好事,但它会弄错,会把你两个render()里的参数都补全成'blog/index.html'(取决于你先添加了哪个目录),你也检查一下。
然后就是两个index.html,因为名字都一样,容易搞混,稍不留神可能就改错地方了。
举报