如何让PyCharm识别静态文件?

8 投票
2 回答
7151 浏览
提问于 2025-04-17 16:45

我有一个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项目的根目录在哪里:

在这里输入图片描述

Django设置(图片)

你也可以使用 {{STATIC_URL}}/path/to/files,这在PyCharm中的表现方式有所不同。

这样做效果很好。不过,PyCharm的表现有点奇怪。

撰写回答