模板中的Pycharm + Django 1.3 + STATIC_URL =未解析的静态引用

时间:2011-12-13 10:12:05

标签: django pycharm

我检查模板中的脚本和样式包含时,我的Django 1.3项目中的PyCharm(1.3和2 beta)引发了许多“未解析的静态引用”错误。

In an outdated PyCharm doc,我发现一个小指南在我的情况下不起作用,因为我的静态文件分布在多个应用上。将我的静态目录添加到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>
当我访问localhost上的模板时,

file.js会解析,但不会在PyCharm中解析。

如何在PyCharm中解析静态文件?

4 个答案:

答案 0 :(得分:10)

转到Pycharm 2.73中的设置

Settings >> Project Setting >> Django

启用Django支持并提供以下三个文件的路径:

Project Root
Settings file
Manage.py file

当您提供这些信息时,请关闭PyCharm并重新启动它。

答案 1 :(得分:7)

PyCharm 2.5再次找到我的静态文件。

诀窍是将app1 / static和app2 / static标记为“Source Root”。

STATICFILES_DIRS对我不起作用。

答案 2 :(得分:1)

所选答案对我不起作用。解决它的是在STATICFILES_DIRS中使用前缀:

STATICFILES_DIRS = (
    # ...
    ("resources", "C:/data/django/myproject/myapp/static"), )

如django文档中所述:https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/

然后在你的html模板中:

<link rel="stylesheet" href="{%static 'resources/favicon.png' %}" type="text/css">

答案 3 :(得分:0)

STATICFILES_DIRS适用于

{% static "js/lib/jquery-1.8.2.min.js" %}
模板中的

标签。 不适用于{{ STATIC_URL }}js/lib/jquery-1.8.2.min.js

http://youtrack.jetbrains.com/issue/PY-5568