Django模板(HTML)

Django模板

Django中的模板相当于传统MVC模式中的V,而在Django的MVT中,模板是T。在传统的前后端不分离的开发形式中,Django的模板是非常有用的,但是在今天前后端分离的大环境下,Django模板基本没有什么用处。

模板能够从视图返回的HttpResponse中获取数据,然后处理数据,进行显示。

创建模板

如果需要使用Django的模板,那么通常在manage.py的同级目录下创建目录templates文件夹,然后在该文件夹下创建Django APP相对应的文件夹,例如:

templates/
└── book
    ├── index.html

book目录下存放着book APP相应的模板文件。

配置模板路径

在项目的settings.py文件中有一个TEMPLATES配置选项,可以在其中配置模板路径。例如:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],       # 添加模板文件路径
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

在视图函数中返回模板

from django.shortcuts import render


def index(request):
    
    # return HttpResponse("请求成功")
    # render函数有三个参数
    # 第一个参数是请求
    # 第二个参数是模板文件
    # 第三个参数是模板渲染的数据,例如下面的context

    context = {}
    context["name"] = "欢迎您访问本网站"
    return render(request, 'book/index.html', context)       # 返回模板文件

模板文件(HTML文件)

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>INDEX</title>
</head>
<body>
<p>{{ name }}</p>   <!--{{}}里面写上视图函数中的context的键即可,这样就能获取键所对应的值-->
</body>
</html>

重新运行项目,然后刷新网页,就会看到如下图所示的内容:
在这里插入图片描述


如果需要基于Django开发前后端不分离的项目,那么还是必须得学习jinja2的语法,Django的模板语法和jinja2基本一致。关于模板的使用现在基本不是Django的重点,了解即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值