Django框架入门二使用模板Template渲染页面

我们知道django框架可以应用于MVC分层思想开发, 我们使用 django.http.HttpResponse() 来输出 "Hello World!该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想,下面将为大家详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容

1. 指定templates目录

我们上一节创建的目录结构如下,views是后来创建的
在这里插入图片描述

myFirstDjango/myFirstDjango/settings.py文件中指定Templates模板的位置

在这里插入图片描述

2. 模板视图和URL的配置

创建完后的目录结构
在这里插入图片描述

在django框架中使用变量用的是 {{ }}两个花括号,包括flask框架也是如此,flask框架与django框架模板语法相似度99%

2.1 新建文件

在先前创建的helloWorld目录下新建 views.py文件,并输入如下代码

from django.http import HttpResponse
from django.shortcuts import render


def hello(request):
    # 直接返回字符串,不符合MVC分层思想
    return HttpResponse("Hello world ! ")


def helloTmpl(request):
    # 创建context容器
    context = {'hello': 'Hello World!'}
    # render为转发的意思 转发到helloWorld.html并传值context字典
    return render(request, 'helloWorld.html', context)

2.2 绑定URL与视图函数

path() 函数:

Django path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name

语法格式:

  • route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view
  • view: 用于执行与正则表达式匹配的 URL 请求
  • kwargs: 视图使用的字典类型的参数
  • name: 用来反向获取 URL
path(route, view, kwargs=None, name=None)

Django2. 0中可以使用 re_path() 方法来兼容 1.x 版本中的 url() 方法,一些正则表达式的规则也可以通过 re_path() 来实现

from django.urls import include, re_path

urlpatterns = [
    re_path(r'^index/$', views.index, name='index'),
    re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
    re_path(r'^weblog/', include('blog.urls')),
    ...
]

打开urls.py文件,添加如下代码

from django.urls import path

from . import views

# 此项就是django的url配置
urlpatterns = [
    # 添加路由hello,并绑定视图为views.hello ,视图中直接返回字符串
    path('hello', views.hello),
    # 添加路由helloTmpl,并绑定视图为views.helloTmpl,视图中转发到helloWorld.html中渲染
    path('helloTmpl', views.helloTmpl),
]

2.3 新建helloWorld.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板</title>
</head>
<body>
<h1>{{ hello }}</h1>
</body>
</html>

启动服务可以看到,helloTmpl经过helloWorld.html渲染成功

在这里插入图片描述
hello没有经过渲染
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我三胖哥哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值