如何让PyCharm识别静态文件?
我有一个Django项目,结构大致是这样的:
/.idea
/clients
/app
/static
coin.png
/templates
index.html
__init__.py
urls.py
/clients
settings.py
manage.py
在index.html文件中,我有一些内容(我可以在渲染时看到图片):
{% load staticfiles %}
<img src="{% static 'coin.png' %}">
settings.py文件中相关的部分是:
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static/')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__), '../static/'),
)
INSTALLED_APPS = (
'django.contrib.staticfiles',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.static',
)
在项目结构中,我添加了/clients
这个文件夹,因为Django项目的根目录比代码库的根目录高一级。不过,我在这个项目中使用的所有{% static %}
都被标记为不存在,尽管Django实际上能找到它们。有没有什么办法可以解决这个问题?
2 个回答
12
STATICFILES_DIRS = (
'static',
)
上面的内容假设你的静态文件夹叫做 static
,并且它就在你的根目录下。现在需要使用 os.path.join
。我已经尝试过并测试过这个方法。
12
你需要设置以下选项,以告诉PyCharm项目的根目录在哪里:
你也可以使用 {{STATIC_URL}}/path/to/files,这在PyCharm中的表现方式有所不同。
这样做效果很好。不过,PyCharm的表现有点奇怪。