除了服务器生成的HTML外,应用程序通常需要提供额外的文件如:image , javascript , css。这对渲染完整的web页面是必要的。这些被称为静态文件。
django.contrib.staticfiles从每个应用程序上收集静态文件并放到一个地方。
在polls下创建static文件夹(django将会在这里寻找静态文件,这与之前的templates类似。django的STATICFILES_FINDERS设置项包含一系列的finders,其中之一的AppDirectoriesFinder会在每个INSTALLED_APPS下寻找“static”子目录),在static下创建polls/style.css文件,这和之前的polls/templates/polls/index.html很像,都是为了区分不同应用程序的同名CSS文件。
1.修改颜色
syle.css内容如下:
li a {
color: red;
}
在polls/templates/polls/index.html中的顶部添加
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />
{% static %}生成静态文件的绝对URL,启动服务,可以在主页看到问题链接变成了红色。
2.添加背景图片
在刚刚的文件夹下创建image文件夹,并放入背景图片,如:background.jpg。
在样式表style.css中添加
body {
background: white url("images/background.gif") no-repeat;
}
刷新即可看到效果。
在style.css中不能使用{% static %}模板标签,因为他不是django生成的。我们应该总使用相对路径指向静态文件,这样之后我们可以在mysite.setting中修改STATIC_URL达到文件迁移的效果。
更多链接请参考https://docs.djangoproject.com/en/2.0/intro/tutorial06/