Pycharm + Django 1.3 +模板中的 STATIC_URL = 未解析的静态引用
我的 Django 1.3 项目中的 PyCharm(1.3 和 2 beta)在检查我的模板中的脚本和样式包含时抛出许多“未解析的静态引用”错误。
在过时的 PyCharm 文档中,我发现一个小指南没有在我的情况下工作,因为我的静态文件分布在多个应用程序中。将我的静态目录添加到 STATICFILES_DIRS 也不起作用。
Dir structure (simplified):
app1/static/js/file.js
app1/static/css/file.css
app2/static/js/otherfile.js
app2/static/css/otherfile.css
templates/template.html
Template.html:
<script src="{{ STATIC_URL }}js/file.js"></script>
当我访问本地主机上的模板时,file.js 会解析,但在 PyCharm 中则不会。
如何在 PyCharm 中解析静态文件?
PyCharm (1.3 and 2 beta) in my Django 1.3 project throws a lot of "unresolved static reference" errors when inspecting my templates for script and style includes.
In an outdated PyCharm doc, I found that a small guide that doesn't work in my situation, because my static files are spread over multiple apps. Adding my static dirs to STATICFILES_DIRS also didn't work.
Dir structure (simplified):
app1/static/js/file.js
app1/static/css/file.css
app2/static/js/otherfile.js
app2/static/css/otherfile.css
templates/template.html
Template.html:
<script src="{{ STATIC_URL }}js/file.js"></script>
file.js resolves when I visit the template on localhost, but not in PyCharm.
How do I make static files resolve in PyCharm?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
转到 Pycharm 2.73 中的设置
Settings >>>项目设置>> Django
启用 Django 支持并提供以下三个文件的路径:
提供这些信息后,关闭 PyCharm 并重新启动它。
Go to Settings in Pycharm 2.73
Settings >> Project Setting >> Django
Enable the Django support and provide the paths for the three following files:
When you have given these informations, close PyCharm and restart it.
PyCharm 2.5 再次找到我的静态文件。
诀窍是将 app1/static 和 app2/static 标记为“Source Root”。
STATICFILES_DIRS
不适合我。PyCharm 2.5 finds my static files again.
The trick is to mark app1/static and app2/static as "Source Root".
STATICFILES_DIRS
is not working for me.所选答案对我不起作用。解决这个问题的方法是在 STATICFILES_DIRS 中使用前缀:
如 django 文档中所述: https ://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/
然后在你的 html 模板中:
The selected answer doesn't work for me. What solved it is using a prefix in STATICFILES_DIRS:
as documented in the django docs: https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/
Then in your html template:
STATICFILES_DIRS
适用于模板中的标记。
不适用于
{{ STATIC_URL }}js/lib/jquery-1.8.2.min.js
http://youtrack.jetbrains.com/issue/PY-5568
STATICFILES_DIRS
works fortag in template.
Not for
{{ STATIC_URL }}js/lib/jquery-1.8.2.min.js
http://youtrack.jetbrains.com/issue/PY-5568