Django 编写您的第一个Django应用 五

除了服务器生成的HTML外,Web应用程序通常还需要提供其他文件(例如图像,JavaScript或CSS),这些文件是呈现整个Web页面所必需的。在Django中,我们将这些文件称为“静态文件”。

对于小型项目来说,这没什么大不了的,因为您可以将静态文件保存在Web服务器可以找到的位置。但是,在较大的项目(尤其是由多个应用程序组成的项目)中,处理每个应用程序提供的多组静态文件变得很棘手。

这样做的目的django.contrib.staticfiles是:它将每个应用程序(以及您指定的任何其他位置)中的静态文件收集到一个易于在生产中使用的位置。

自定义应用的外观

首先,在目录static创建一个polls目录。Django将在此处查找静态文件,类似于Django在内部查找模板的方式polls/templates/

Django的STATICFILES_FINDERS设置包含一个查找器列表,这些查找器知道如何从各种来源发现静态文件。默认值之一是AppDirectoriesFinder在每个中查找“静态”子目录 INSTALLED_APPS,就像polls我们刚刚创建的一样。管理站点对其静态文件使用相同的目录结构。

static您刚创建目录中,创建另一个目录polls,在其中创建一个名为的文件style.css换句话说,您的样式表应位于polls/static/polls/style.css由于AppDirectoriesFinderstaticfile finder的工作方式,您可以在Django中将此静态文件称为polls/style.css,类似于引用模板路径的方式。

将以下代码放入该样式表(polls/static/polls/style.css):

 

 

 接下来,在顶部添加以下内容polls/templates/polls/index.html

 

 

模板标签生成静态文件的绝对路径。{% static %}

这就是您要做的所有开发工作。

启动服务器(如果已经运行,则重新启动它):

$ python manage.py runserver

重新加载http://localhost:8000/polls/,您应该看到问题链接为绿色(Django样式!),这意味着您的样式表已正确加载。

 

 

添加背景图片

接下来,我们将为图像创建一个子目录。imagespolls/static/polls/目录中创建一个子目录在此目录中,放入名为的图像background.gif换句话说,将您的图片放在中 polls/static/polls/images/background.gif

然后,添加到样式表(polls/static/polls/style.css):

重新加载http://localhost:8000/polls/,您应该会在屏幕左上方看到加载的背景。

 

 

 

 

 

 
posted @ 2020-06-14 16:24  Leon&Joker  阅读(218)  评论(0)    收藏  举报