[django]入门教程3:模板语法及使用

本文介绍了Django框架中的模板系统,包括模板的基本概念、使用方法、过滤器的应用及模板加载方式。此外,还讲解了如何利用模板继承特性提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、什么是模板
模板是一个文本,用于分离文档和表现内容,通常用于生成HTML。

<html>
<head>template</head>
<body>
<p>Hello{{name}}</p>
<ul>
{% for item in itemlist %}
    <li>{{item}}</li>
{% endfor %}
</ul>
{% if status %}
    <p> I love python </p>
{% else %}
    <p> I love django </p>
{% endif %}
</body>

2、怎么使用模板?
(1)可以用原始的模板代码字符串创建一个template对象。
(2)调用模板对象的render()方法,并且传入一套变量的context

python manage.py shell

from django import template
t = template.Template('hello,{{name}}')
c = template.Context({'name':'django'})
print t.render(c)

一旦你创建了一个template对象,你就可以用context处理器来传递数据给它,最用调用render()方法来渲染它。

3、模板中过滤器
过滤器就是将模板中的变量过滤一遍,在变量显示前修改它的一个方法。
如:下列代码中,upper就是一个过滤器:将name这个变量转化为全部为大写字母的格式。

{{name|upper}}

4、模板的加载
(1)首先在应用中创建一个文件夹templates用于存放模板,

<html>
<head>mytemplate</head>
<body>
    <p>Hello {{name}}</p>
</body>
</html>

(2)修改setting.py

import os
TEMPLATE_DIR=os.path.join(os.path.dirname(__file__),'templates')

(3)在python shell中验证

from django.template.loader import get_template
t = get_template("1.html")
t
from django.shortcuts import render_to_response
def views(request):
    return render_to_response('1.html',{"name":"hello"})

除此之外,django还给模板提供了继承功能。如让2.html继承1.html

1.html

<html>
    <head>1.html</head>
    <body>
        {% block content %}
        <p>Hello world</p>
        {% endblock %}
    </body>
</html>

2.html

{% extends '1.html' %}
{% block content %}
{% endblock %}

写一个视图函数验证一下

views.py

from django.shortcuts import render_to_response

def views(request):
    return render_to_response('2.html')

urls.py

(r'^hello/$',views)

启动应用,在浏览器输入localhost:8000/views

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值