下面是关于Django学习之静态文件与模板详解的完整攻略:
1. 静态文件
1.1 静态文件的定义
静态文件是指能够直接被服务器返回的文件,如样式文件(CSS)、脚本文件(JavaScript)、图片(Image)等。
1.2 静态文件的管理
在Django中,需要在项目中的static
文件夹中存放静态文件,并在相应的HTML模板中使用相应的标签进行引用。
使用以下代码在HTML模板中引入静态文件:
{% load static %}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="{% static 'css/mystyle.css' %}">
</head>
<body>
</body>
</html>
其中,{% load static %}用于加载静态文件,{% static 'css/mystyle.css' %}则是相应的CSS文件路径。
1.3 示例1:引用CSS
将以下代码复制到mystyle.css
文件中,并保存到项目中的static/css
目录下。
h1 {
color: red;
}
然后,在HTML文件中引用该CSS文件。
{% load static %}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="{% static 'css/mystyle.css' %}">
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
刷新页面,可以看到标题“Hello, World!”的颜色已经变成了红色。
1.4 示例2:引用图片
在项目的static/images
目录下放置一张图片test.jpg
。
在HTML文件中引用该图片:
{% load static %}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<img src="{% static 'images/test.jpg' %}">
</body>
</html>
刷新页面,可以看到图片已经成功显示。
2. 模板
2.1 模板的定义
模板是一个包含变量和标签的文本文件,可用于生成HTML文件。在Django应用中使用模板来分离应用逻辑和表现逻辑,使得开发更加容易、维护更加方便。
2.2 模板的基础语法
在模板中可使用以下标签和变量:
2.2.1 变量
{{ variable }}
2.2.2 标签
标签用于控制模板的逻辑,如循环、条件判断等。
{% tag %}
2.3 与视图函数配合使用
在Django中,模板通过与视图函数配合使用来生成HTML文件。
使用render方法将模板和数据一起渲染成HTML文件:
from django.shortcuts import render
def index(request):
context = {'name': 'Tom'}
return render(request, 'index.html', context)
在上述代码中,render方法接受三个参数,第一个是请求对象request
,第二个是模板文件的名称index.html
,第三个是模板渲染需要的上下文数据context
。
2.4 示例3:模板的使用
在项目中新建index.html
模板文件,在其中使用{{ variable }}来引用变量。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Welcome to my website, {{ name }}!</h1>
</body>
</html>
将以下代码添加至视图函数中。
def index(request):
context = {'name': 'Tom'}
return render(request, 'index.html', context)
刷新页面,可以看到页面上显示了“Welcome to my website, Tom!”这行字。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django学习之静态文件与模板详解 - Python技术站