模板层基础语法

本文档详细介绍了使用Django创建项目、设置模板路径、定义URL路由及视图函数,展示了如何在HTML模板中输出普通值、列表、字典数据,以及运用循环和条件判断语句。同时,通过实例演示了模板标签如url的使用,并解释了不同风格下消息显示的颜色变化。

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

准备工作:

1、创建djang项目
2、增加app名称为commen
3、修改settings.py中TEMPLATES中的’DIRS’:

'DIRS': [os.path.join(BASE_DIR, 'templates')]

4、commen目录下新增urls.py

基本知识:

参数输出:

在这里插入图片描述
普通值获取直接双花括号即可
列表值的获取为列表名+ . + 索引
字典值的获取为字典名+ . + 键名

循环语句:

在这里插入图片描述
注意:一定要有{% endfor %},不然会报语法的错误。

判断语句:

在这里插入图片描述
注意:一定要有{% endif %},不然会报语法的错误。

视图函数参数

在这里插入图片描述

具体实现

1、完整项目目录:
在这里插入图片描述
2、编写commen目录下的
a、urls.py:

from django.urls import path, re_path
from . import views

urlpatterns = [
    path('', views.index_handler, name='index'),
    path('t1', views.t1_handler, name='t1'),
    path('t2', views.t2_handler, name='t2'),
    path('t3', views.t3_handler, name='t3'),
    path('t4', views.t4_handler, name='t4'),
    re_path('re/(\d+)', views.re_handler, name='re'),
]

b、views.py

from django.shortcuts import render,HttpResponse

# Create your views here.
def index_handler(request):
    return HttpResponse("Hello commen")

def re_handler(request, num):
    return HttpResponse(num)

def t1_handler(request):
    context = {
        "key1": "你好啊",
        'key2': ["Python", "Java"],
        "key3": {
            "key3_1": "C++",
            "key_2": "Go",
        }
    }
    return render(request,'t1.html',context)


def t2_handler(request):
    context = {
        'hobbys': ["Python", "JAVA", "C"]
    }
    return render(request, 't2.html', context)


def t3_handler(request):
    context = {
        'message': "这是一个提示信息,根据style来决定颜色",
        'style': 0,
    }
    return render(request, 't3.html', context)


def t4_handler(request):
    return render(request, 't4.html')

PS:t1 t2 t3 t4 各自有对应的html
3、在templates中新增.html文件

{# t1.html #}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>t1</title>
</head>
<body>
    {# 1、普通值获取 #}
    {{ key1 }}
    <br/>
    {# 2、列表值的获取 #}
    {{ key2.0 }} {{ key2.1 }}
    <br/>
    {# 3、字典值获取 #}
    {{ key3.key3_1 }}   {{ key3.key3_2 }}
</body>
</html>
{# t2.html #}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>t2</title>
</head>
<body>
{% for hobby in hobbys %}
    爱好:{{ hobby }}<br/>
{% endfor %}
</body>
</html>
{# t3.html #}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>t3</title>
</head>
<body>
{% if style == 0 %}
    <span style="color: red">{{ message }}</span>
{% elif style == 1 %}
    <span style="color: yellow">{{ message }}</span>
{% else %}
    <span style="color: blue">{{ message }}</span>
{% endif %}
</body>
</html>
{# t4.html #}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>t4</title>
</head>
<body>
commen中:
<u1>
    <li>
        index_handler的地址是:{% url 'commen:index' %}
    </li>
    <li>
        re_handler的地址是: {% url 'commen:re' 2 %}
    </li>
</u1>
</body>
</html>

运行manage.py
进入浏览器:
在这里插入图片描述
上图为index_handler所展示的内容,依次进入t1、t2、t3、t4。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
style为0时,颜色为红色,为1时,颜色为黄色,其他时,颜色为蓝色
在这里插入图片描述

<li>
    re_handler的地址是: {% url 'commen:re' 2 %}
</li>

在确定re_handler地址时,需得re进行传参,否则会报错。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值