在我的本地 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/