python - CSS 未加载到 Django 模板中。在本地运行时有效

标签 python css django

在我的本地 PC 上,我可以执行“python manage.py runserver”并且网站运行完美,CSS 和所有。我刚刚将该网站部署到公共(public)服务器,虽然大多数事情都有效,但 CSS(和图像)没有加载到模板中。

我发现了其他一些有类似问题的问题,但我的代码似乎没有遇到任何相同的问题。

在 Django 元素设置中,使用相同的 python 函数允许应用程序查看模板和静态 CSS/图像文件。模板正在被 View 找到并且加载没有问题。

都来自 settings.py:

STATICFILES_DIRS = (
    os.path.join(os.path.dirname(__file__), 'templates/css').replace('\\','/'),
    os.path.join(os.path.dirname(__file__), 'content').replace('\\','/'),
)

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'),
)

在其余模板都扩展的base.html 文件中:

<head>
    {% load staticfiles %}
    <link rel="stylesheet" type="text/css" href="{% static "style.css" %}" media="screen">
</head>

目录结构:

|project_root/
|--manage.py
|--project/
| |--settings.py
| |--__init__.py
| |--content/
| | |--header.jpg
| |--templates/
| | |--base.html
| | |--css/
| | | |--style.css

当 CSS 没有加载时,我的第一个想法是 Django 找不到 style.css 文件,但因为我使用的是相同的“os.path.dirname(file)”技术与模板一样,我不确定情况是否如此。

我这里有什么问题吗?

编辑:

我忘了说 PC 和服务器都运行 Python 2.7.5 和 Django 1.5.5。

最佳答案

您在帖子中从未提及它,所以我猜:

你从未运行过./manage.py collectstatic

collectstatic 找到所有静态文件(css、images、js)并将它们放在一个目录中(使用 django 设置选择这个目录 STATIC_ROOT)然后你指向你的网络服务器到那个目录

关于python - CSS 未加载到 Django 模板中。在本地运行时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20590331/

相关文章:

javascript - 降低 Google App Engine 成本

python - Set_column 在手动激活每个单元格之前不起作用

html - 我应该使用哪个来显示事件的详细信息 -css 或表

javascript - 从任何地方滚动一个 Div

javascript - 更改背景图片网址

python - Celery 服务器错误 : “cannot mix new setting names with old setting names”

python - Pygame显示2D numpy数组

python - 无法构建使用 PEP 517 且无法直接安装的密码学轮子

html - Django:在发布前自动缩小 css/js 文件

javascript - Django:从模型创建 JSON 对象以返回模板