我有一个django基础模板,我添加了一些JS库,但每次刷新页面时都不会显示任何更改。
还有什么我可以做的让django意识到我的基本模板已经改变了,我不想要旧的模板? django商店在哪里缓存文件?我不知道还能做什么...
[编辑]
这很令人尴尬......事实证明我将我的项目从一个文件夹复制到另一个文件夹,但没有更新settings.py中的template_dirs指令,因此,django正在使用旧模板。
我解决了这个从settings.py删除所有硬编码路径并添加getcwd()函数来创建路径,现在我可以将我的项目文件夹移动到任何地方,它仍然能够正常工作。
抱歉所有的麻烦
答案 0 :(得分:3)
根据我使用Django的经验,问题是由于文件重复造成的,因此当您编辑一个文件时,django会获取另一个文件。 删除重复项应该可以解决您的问题。
答案 1 :(得分:1)
基本模板中的其他所有内容都显示出来了吗?检查您正在呈现的页面的源,并查看基本模板中的所有内容是否都显示,除了新的修改(js库)。
如果不存在,请将Randall Ma建议的{%extends“base.html”%}(或基本模板的名称)添加到正在呈现的模板文件的顶部。您的基本模板文件(例如base.html)不会自动添加到每个扩展模板中 - 您必须在上面明确声明它。
如果这不能解决问题,你必须发布像ArgsKwargs建议的源文件。
答案 2 :(得分:1)
我对django.views.static.serve进行了一些小改动,解决了我在浏览器中获取过时资源的大部分问题。值得一试:
答案 3 :(得分:1)
尝试使用runserver而不是apache / nginx
答案 4 :(得分:0)
默认情况下,Django从磁盘加载模板。 http://www.jongales.com/blog/2012/02/16/make-django-keep-templates-in-memory/因此,理论上,对模板的任何更改都应该是即时的。正如@daneilrvt所说,他的问题不在于Django,而是他所做的改变,他没有更新。我今天下午遇到了同样的问题。因此,当涉及到未更新的更改时,请务必仔细检查您是否正在更新模板中的正确模板或代码段。