【python + Django】Django模板语法 + 请求和响应

前言:

现在现在,我们要开始将变量的值展现在页面上面啦!

要是只会显示静态页面,我们的页面也太难看和死板了,

并且数据库的数据也没法展现在页面上。

但是呢,模板语法学习之后就可以啦!!!

目录

[1 事前准备](#1 事前准备)

[2 模板语法](#2 模板语法)

[2.1 展现单独值](#2.1 展现单独值)

[2.2 展现列表元素](#2.2 展现列表元素)

[2.3 展现字典](#2.3 展现字典)

[2.4 展现列表套字典](#2.4 展现列表套字典)

[3 条件语句](#3 条件语句)

[4 请求](#4 请求)

[5 响应](#5 响应)


1 事前准备

先用之前的方式在文件中创建一个model页面

step1:写urls.py

step2:在templates文件夹中创建一个model.html

step3:在views.py当中编写一个相应的model函数:

注意使用 render() 来返回界面哦!

2 模板语法

但是我们只返回静态页面怎么行呢?

至少要将变量的值展现到页面上吧?(为后面引用数据库做准备)

2.1 展现单独值

在html文件中写上一个盒子;

在对应的view函数中render他的键,在盒子中添加一个引用,便可以返回相应的值了;

事例如下:

2.2 展现列表元素

同样的方式也可以返回一个列表:

但是我们肯定是想返回列表中的某个元素,

而不是像这样粗暴的将列表直接贴在页面上。

于是乎,我们便可以这样写:

最后能单独得到相应的数据,即得到列表元素:

可以用循环得到所有的元素:

展示结果与上面相同,这里不多赘述。

2.3 展现字典

同样也可以用循环来处理,得到字典中的键与值:

结果如下:

2.4 展现列表套字典

展现列表和展现字典都学习了,那聪明的你告诉我,如何展现列表套字典呢?

有了上述经验之后,便好做了:

3 条件语句

我们的Django同时也支持逻辑判断哦:

Django开发的哦!!!!

访问顺序:

  • 浏览器 --> urls.py--> views.py --> templates
  • templates --> views --> 浏览器

视图函数的render内部:

  • 读取含有模板语法的html文件
  • 内部进行渲染(模板语法执行并替换数据)-->得到只包含HTML标签的字符串
  • 将渲染(替换)完成的字符串返还给用户浏览器

4 请求

我们之前在views.py文件中写的函数的括号中都有有一个request,

那么request到底是什么东西呢?

request是一个对象,封装了用户发过来的所有请求相关的数据:

获取请求方式:

python 复制代码
print(request.method)

在URL上传递值:

python 复制代码
print(request.GET)

在请求中提交数据:

python 复制代码
print(request.post)

5 响应

内容字符串返回给请求者:

python 复制代码
return HttpResponse("返回的内容")

读取HTML的内容,渲染(替换),得到字符串,返回给浏览器:

python 复制代码
return render(request, 'XXX.html', {"name":"名字"})

让浏览器进行一个重定向,进入重定向到网址:

python 复制代码
return redirect("http://www.baidu.com")

注意:最终访问的方式是通过浏览器进行访问目标网站

相关推荐
W_a_i_T5 分钟前
【Coding日记】菜鸟编程C语言100例——第一题
c语言·学习·编程思维·菜鸟编程
测试人社区-浩辰18 分钟前
AI与区块链结合的测试验证方法
大数据·人工智能·分布式·后端·opencv·自动化·区块链
程序员_大白18 分钟前
区块链部署与运维,零基础入门到精通,收藏这篇就够了
运维·c语言·开发语言·区块链
qq_2290580119 分钟前
python-Dgango项目收集静态文件、构建前端、安装依赖
开发语言·python
测试人社区—667920 分钟前
2025区块链分层防御指南:AI驱动的安全测试实战策略
开发语言·驱动开发·python·appium·pytest
喵手26 分钟前
Python爬虫零基础入门【第九章:实战项目教学·第10节】下载型资源采集:PDF/附件下载 + 去重校验!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·下载型资源采集·pdf下载
玄同76528 分钟前
深入理解 SQLAlchemy 的 relationship:让 ORM 关联像 Python 对象一样简单
人工智能·python·sql·conda·fastapi·pip·sqlalchemy
德迅云安全—珍珍28 分钟前
2核2G的云服务器可以架设游戏吗?
运维·服务器·游戏
Yorlen_Zhang43 分钟前
Python @property 装饰器详解:优雅控制属性访问的魔法
开发语言·python
朔北之忘 Clancy1 小时前
2025 年 12 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解