从Django中的项目目录提供静态文件

时间:2019-12-29 12:42:20

标签: django django-staticfiles django-static

我具有以下项目结构:

myproject
    - myapp
    - manage.py
    - myproject
          - settings.py
          - urls.py
          ...
    - static
    - templates

我想从此静态文件夹中提供我的所有静态文件。在我的 settings.py 中,我有以下内容:

STATIC_URL = '/static/'

但是,在我的一个模板中,当我使用以下命令调用静态文件...

{% load static %}
...
<link href="{% static 'css/styles.css' %}" rel="stylesheet" />

...什么都没有加载。

但是,如果我在myapp / static / css / styles.css中添加css文件,则一切正常。如何从项目根文件夹提供静态文件?感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

第一步:您的项目结构(文件夹目录)似乎还可以。

myproject
- myapp
- manage.py
- myproject
      - settings.py
      - urls.py
      ...
- static
- templates

第二:需要在 settings.py 文件中定义STATIC_URL = '/static/'

第三步::需要在模板文件中加载静态变量并使用相对路径。

{% load static %}
...
<link href="{% static 'css/styles.css' %}" rel="stylesheet" />

添加此 settings.py 文件。

# Add static file directory
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
settings.py 中的

已安装的应用列表应该存在于列表的django.contrib.staticfiles中。如果没有,请确保其在列表中。

相关问题