【问题标题】:Changed Settings Config now Django Static files isnt working更改设置配置现在 Django 静态文件不起作用
【发布时间】:2012-10-07 02:30:27
【问题描述】:

所以我用以下方案更新了我的项目设置

PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

/settings
  base.py
  prod.py
  dev.py

对于上述配置,这是正确的 STATICFILES_DIRS 设置吗?

STATICFILES_DIRS = [
os.path.join(PROJECT_ROOT, "site_media", "static"),
]

STATIC_URL = "/site_media/static/"

使用模板渲染得很好

TEMPLATE_DIRS = [
     os.path.join(PROJECT_ROOT, "templates"),
]

所以我对为什么我的 css 文件不能正常工作有点疑惑

主页.html

<link rel="stylesheet" href="{{ STATIC_URL }}css/home.css" />

【问题讨论】:

    标签: django django-settings django-staticfiles


    【解决方案1】:

    您可能希望将您的 PROJECT_ROOT 更改为以下内容:

    # cwd is settings. determine project path
    cwd = os.path.dirname(os.path.abspath(__file__)) 
    PROJECT_ROOT = cwd[:-9] # chop off "settings/"
    

    这应该让您的项目根目录在您想要的位置。另外,当您尝试使用{{STATIC_URL}} 时,会在前端创建什么链接?

    您可能想查看this link,了解有关拆分 settings.py 文件的更多信息。

    【讨论】:

    • 关于您的问题,当我访问 url 时,页面会呈现并加载我的 site_base.html 模板,但没有加载 css 或 javascipt 静态文件。
    猜你喜欢
    • 2020-04-10
    • 2016-10-15
    • 2014-06-02
    • 1970-01-01
    • 2020-09-14
    • 2019-01-21
    • 1970-01-01
    • 2016-08-20
    • 2012-08-16
    相关资源
    最近更新 更多