Bootstrap的CSS链接在localhost中工作,但在部署服务器上不起作用

时间:2014-06-25 16:40:08

标签: css django twitter-bootstrap

我有一个相当简单的Django应用程序,我已经添加了Twitter Bootstrap。

在本地Django服务器http://127.0.0.1:8000/surveythree/上按预期工作但是当我将它部署到我的生产服务器http://phaedrus.scss.tcd.ie/bias_experiment/surveythree/时,CSS不起作用。

我尝试了以下链接的许多变体。

<link href = "/static/css/bootstrap.min.css" rel = "stylesheet"> 
<link href = "http://phaedrus.scss.tcd.ie/bias_experiment/src/survey/static/css/bootstrap.min.css" rel = "stylesheet"> 

我的项目设置。

enter image description here

2 个答案:

答案 0 :(得分:3)

<link href="./static/css/bootstrap.min.css" rel="stylesheet>"

此处“./static”指的是当前目录中名为“static”的文件夹,如果您使用的是“/static”,这意味着根目录中名为“static”的文件夹。 两者都在服务器端产生差异。

如果它不起作用,那么你可以添加它的引导链接

 <!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">

<!-- Optional theme -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>

答案 1 :(得分:2)

我将假设您不在部署服务器上使用“Debug = True”(在settings.py中)。 基本上,Django在生产中不提供静态文件。您可以将服务器配置为执行此操作,如本文档中所述:https://docs.djangoproject.com/en/dev/howto/static-files/deployment/

如果您使用的是Apache2,则可以在VirtualHost中添加以下行:

Alias /static /path/to/your/static/folder

然后继续使用Django {%static%}:

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

希望有所帮助

PS:如果启用了Debug = True,则应检查settings.py中的STATIC_URL以及用于访问每个文件的每个路径。

编辑:如果您选择我的解决方案(如果可行),请不要忘记重新启动服务器