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

标签 python django django-templates 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 文件,则一切正常。如何从项目根文件夹提供静态文件?感谢您的帮助。

最佳答案

第一步:您的项目结构(文件夹目录)似乎没问题。

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

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

第三:需要加载模板文件中的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 中。如果没有,请确保它在列表中。

关于python - 从 Django 中的项目目录提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59519504/

相关文章:

python - 类型错误 : 'NoneType' object is not iterable (selenium 2. 49)

python - 如何在 Python 中压缩文件夹并通过电子邮件发送压缩文件?

Django 链接被附加到 URL

python - 如何在 Django 中获取复选框的值?

django - 在 Django 表单上为 DatetimeInput 输入有效的日期/时间

python - 限制 Django 中自动完成字段的查询集

python 到 MATLAB 代码、数字列表和求和

python - Django "./manage.py runserver"记录到文件而不是控制台

python - 将模型迁移到现有 MySQL 数据库时出现 Django 错误

python - 如何将 Django 应用程序测试与其他测试一起运行?