天天看点

编写你的第一个Django应用程序 六第6部分

第6部分

本教程从教程5停止的地方开始。我们已经构建了一个经过测试的Web轮询应用程序,现在我们将添加样式表和图像。

除了服务器生成的HTML之外,Web应用程序通常还需要提供呈现完整网页所需的其他文件(如图像,JavaScript或CSS)。在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。由于AppDirectoriesFinder静态文件查找器的工作原理,您可以简单地在Django中引用此静态文件polls/style.css,类似于引用模板路径的方式。

将以下代码放在该stylesheet(polls/static/polls/style.css)中:

编写你的第一个Django应用程序 六第6部分

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

编写你的第一个Django应用程序 六第6部分

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

这就是开发所需要做的一切。

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

编写你的第一个Django应用程序 六第6部分

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

添加背景图像

接下来,我们将为图像创建一个子目录。images在polls/static/polls/目录中创建一个子目录。在此目录中,放置一个名为的图像background.gif。换句话说,把你的形象放进去 polls/static/polls/images/background.gif。

然后,添加到stylesheet(polls/static/polls/style.css):

编写你的第一个Django应用程序 六第6部分

重新加载http://localhost:8000/polls/,您应该看到屏幕左上角加载了背景。

编写你的第一个Django应用程序 六第6部分

这些是基础知识。有关框架中包含的设置和其他位的更多详细信息,请参阅 静态文件howto和 staticfiles引用。部署静态文件讨论了如何在真实服务器上使用静态文件。