Django - 添加静态文件



什么是 Django 中的静态文件?

Django 模板语言允许动态地将数据插入网页。但是,Web 应用程序还需要某些资源,例如图像、JavaScript 代码和样式表,才能呈现完整的网页。这些类型的文件称为静态文件。在 Django 应用程序中,这些文件存储在应用程序文件夹内的静态文件夹中。

静态文件应用

静态文件应用程序 (django.contrib.staticfiles) 用于管理静态文件,它在 Django 项目中自动安装。

INSTALLED_APPS = [
   . . .,
   'django.contrib.staticfiles',
   'firstapp',
]

Django 在“app/static”文件夹(应用程序文件夹中的名为static的文件夹)中查找所有静态资源。

首先,我们需要在myapp 包文件夹内创建一个名为“static”的文件夹来存储这些文件。让我们将“django.png”文件存储在这个文件夹中。

确保在“settings.py”模块中,STATIC_URL 参数设置为指向此文件夹。

STATIC_URL = 'static/'

添加视图

让我们添加以下视图:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
   return render(request, "index.html", {})

注册视图

您还应该在应用程序的 URLCONF 中注册此视图:

from django.urls import path
from . import views

urlpatterns = [
   path("", views.index, name="index"),
]

在模板中,要使静态文件夹可用,请使用以下语句中的load 模板标签

{% load static %}

index.html

现在,我们可以使用静态路径在<img src>标签中引用图像。让我们修改“index.html”文件如下:

<html>
<body>
   {% load static %}
   <img src="{% static 'django.png' %}" alt="My image">
</body>
</html>

启动服务器并访问 URL“https://127.0.0.1:8000/myapp/”。“django.png”文件将在浏览器中显示。

Django Add Static Files

静态文件应用程序还有助于提供 CSS 和 JS 文件。要将其包含为 CSS 文件,请在href属性中的{% static %}标签中提供其相对路径。

<link rel="stylesheet" type="text/css" href="{% static 'style.css' %}">

要加载 JavaScript 代码,请使用以下语法:

<head>
   {% load static %}
   <script src = "{% static 'script.js' %}"></script>
</head>
广告