本教程从教程 5 停止的地方开始。我们已经构建了一个经过测试的网络投票应用程序,现在我们将添加一个样式表和一个图像。
除了服务器生成的 HTML 之外,Web 应用程序通常需要提供呈现完整网页所需的其他文件(例如图像、JavaScript 或 CSS)。在 Django 中,我们将这些文件称为“静态文件”。
对于小型项目,这没什么大不了的,因为您可以将静态文件保存在Web服务器可以找到的地方。但是,在较大的项目中(尤其是由多个应用程序组成的项目),处理每个应用程序提供的多组静态文件开始变得棘手。
这就是 django.contrib.staticfiles
的用途:它将每个应用程序(以及您指定的任何其他位置)的静态文件收集到一个可以在生产中轻松提供的位置。
一、自定义应用的外观和感觉
首先,在 polls
目录中创建一个名为 static
的目录。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
,类似于您引用模板路径的方式。
将以下代码放入该样式表 ( polls/static/polls/style.css
):
li a { color: red; }
接下来,在 polls/templates/polls/index.html
的顶部添加以下内容:
{% load static %} <link rel="stylesheet" href="{% static 'polls/style.css' %}">
{% static %}
模板标签生成静态文件的绝对 URL。
这就是您需要为开发所做的一切。
启动服务器(如果它已经在运行,则重新启动它):
$ python manage.py runserver
重新加载 http://localhost:8000/polls/
,你应该看到问题链接是绿色的(Django风格!),这意味着你的样式表已正确加载。
二、添加背景图像
接下来,我们将为图像创建一个子目录。在 polls/static/polls/
目录中创建一个 images
子目录。
在此目录中,添加要用作背景的任何图像文件。出于本教程的目的,我们使用一个名为 background.png
的文件,
该文件将具有完整路径 polls/static/polls/images/background.png
。
然后,在样式表中添加对图像的引用 ( polls/static/polls/style.css
):
body { background: white url("images/background.png") no-repeat; } li a { color: red; }
重新加载 http://localhost:8000/polls/
,您应该会看到屏幕左上角加载的背景。
这些是基础知识。有关框架中包含的设置和其他位的更多详细信息,请参阅静态文件操作方法和静态文件参考。
部署静态文件讨论了如何在真实服务器上使用静态文件。
当你熟悉静态文件时,请阅读本教程的第 7 部分,了解如何自定义 Django 自动生成的管理站点。
-----------------------------------end-------------------------------------
标签:文件,静态,polls,应用程序,Django,static,编写 From: https://www.cnblogs.com/xh2023/p/17336285.html