我有一个看起来像的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项目的根目录比repo root高一级。然而,即使Django可以找到它,我在这个项目中的所有{% static %}
使用都会保持亮点不存在。关于如何解决这个问题的想法?
答案 0 :(得分:10)
您需要设置以下设置,告诉PyCharm在哪里找到项目根目录:
Django settings to set (image)
你也可以使用{{STATIC_URL}} / path / to / files,它们的工作方式与pycharm不同
这创造了奇迹。虽然pycharm有点奇怪。
答案 1 :(得分:9)
STATICFILES_DIRS = (
'static',
)
以上假设您的静态目录在根目录下被称为static
。现在需要做os.path.join
。我已经尝试并测试了这个。