菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Django - 添加静态文件


创建 Static 文件夹

在构建 Web 应用程序时,您可能需要添加一些静态文件,例如图片或 CSS 文件。

首先,在您的项目中创建一个名为 static 的文件夹,与创建 templates 文件夹的目录相同。

文件夹的名称必须是 static

my_tennis_club
    manage.py
    my_tennis_club/
    members/
        templates/
        static/

static 文件夹中添加一个 CSS 文件,名称随意,本例中我们称之为 myfirst.css

my_tennis_club
    manage.py
    my_tennis_club/
    members/
        templates/
        static/
            myfirst.css

打开 CSS 文件并插入以下内容

my_tennis_club/members/static/myfirst.css:

body {
  background-color: lightblue;
  font-family: verdana;
}

修改模板

现在您有了一个包含一些 CSS 样式的 CSS 文件。下一步是将其包含在 HTML 模板中。

打开 HTML 文件并添加以下内容:

{% load static %}

<link rel="stylesheet" href="{% static 'myfirst.css' %}">

示例

my_tennis_club/members/templates/template.html:

{% load static %}
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="{% static 'myfirst.css' %}">
<body>

{% for x in fruits %}
  <h1>{{ x }}</h1>
{% endfor %}

</body>
</html>
运行示例 »

重启服务器以使更改生效。

py manage.py runserver

并在您自己的浏览器中查看结果: 127.0.0.1:8000/testing/

不起作用?

只是测试? 如果您只是想随便玩玩,并且不打算部署您的工作,可以在 settings.py 文件中将 DEBUG = True 设置为 True,那么上面的示例就会生效。

计划部署? 如果您计划部署您的工作,应该在 settings.py 文件中将 DEBUG = False 设置为 False。上面的示例将失败,因为 Django 没有内置的提供静态文件的解决方案,但有其他方法可以提供静态文件,您将在下一章中学习。

示例(开发中)

my_tennis_club/my_tennis_club/settings.py:

.
.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
.
.

这将使示例工作,但我们希望您选择 DEBUG = False,因为这是学习如何使用 Django 的最佳方式。


选择 Debug = False

在本教程的其余部分,我们将以 DEBUG = False 运行,即使在开发环境中,因为这是学习如何使用 Django 的最佳方式。

示例

my_tennis_club/my_tennis_club/settings.py:

.
.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ['*']

.
.
ALLOWED_HOSTS

当使用 DEBUG = False 时,您必须指定允许托管您的作品的主机名。您可以选择 '127.0.0.1''localhost',它们都代表您本地机器的地址。

我们选择 '*',这意味着任何地址都允许托管此站点。当您将项目部署到公共服务器时,应将其更改为实际的域名。


不起作用?

没错,示例仍然不工作。

您需要安装一个第三方库来处理静态文件。

有很多选择,我们将在下一章中向您展示如何使用名为 **WhiteNoise** 的 Python 库。



×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持