Django模板及其过滤器

  • 模板渲染
    注意模板文件需要在setting文件中配置路径
# 将HTML文件直接写入HttpRespones中
def index_1(request):
	return HttpResponse('<h1>这是django项目</h1>')

# django.template.loader定义了函数以加载模板
from django.template.loader import get_template
def index_2(request):
	tem = get_template('book/index.html')
	html = te.render()
	return HttpResponse(html)
	
# 使用render渲染
def index_3(request):
	return render(request, 'book/index.html')
  • 模板变量的引用
# views.py文件
li = [1,2,3,4,5]
dic = {'a':111,'b':222,'c':333}

def hello():
	return 'hello django!'

class Person:
	def __init__(self, name, age):
		self.name = name
		self.age = age

	def say(self):
		return 'this is python'

hua = Person('花花'18)


def tmp(request):
	return render(request, 'book/index.html', context={
						'book_name' : 'python'  # 字符串
						'hello' : hello      #函数
						'hua': hua # 类对象
						'say':hua.say  #类方法
						'li': li       # 列表
						'dic': dic      # 字典
					})
 # urls.py文件配置对应路由添加此路由
 path('tmp/',views.tmp, name = 'tmp') 

模板文件index.html
使用形式{{ book_name }}调用变量

  • 过滤器及其模板标签
# {{变量| 过滤器:参数}}

# views.py文件
from django.shortcuts import render

li = [2,4,6,8]
def test_1(request):
    return render(request, 'teacher/test_1.html', context={'li':li})


# urls.py文件
from django.urls import path
from . import views
urlpatterns =[
    path('test_1/', views.test_1)
]


# test_1.html文件
{#一定要先载入静态文件再使用#}

{% load static %}
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static "teacher/index.css" %}">
</head>
<body>
<h1>this is bookstore</h1>
<h1>列表为{{ li}}</h1>
<h1>列表为{{ li | first}}</h1>
<p>django</p>
</body>
</html>


# index.css文件
p{
    color:red;
}
  • 效果图
    运行效果
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值