栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django从0到1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django从0到1

传统的MVC

MVC 代表 Model-View-Controller (模式 – 视图 – 控制器) 模式

​ ✔️ M 模型层(Model) 主要用于对数据库层的封装

​ ✔️ V 视图层(View) 用于向用户展示结果 WHAT HOW

​ ✔️C 控制 (Controller) 用于处理请求、获取数据、返回结果

作用 降低模块间的耦合度 解耦合

Django的MTV模式

MTV 代表 Model-Template-View 模型–模板–视图 模式。

​ ✔️ M 模型层 Model 负责与数据库交互

​ ✔️ T 模板层 (Template) 负责​呈现内容到浏览器 HOW

​ ✔️ V 视图层 View 是核心 负责接收请求、获取数据、返回结果 WHAT

模板 模板是可以根据字典数据动态变化的html网页模板可以根据视图中传递的字典数据动态生成响应的HTML网页 模板配置

创建模板文件夹 项目名 /templates

在settings.py 中 TEMPLATES 配置项

BACKEND 指定模板的引擎DIRS 模板的搜索目录 可以是一个或多个 APP_DIRS 是否要在应用中的 templates 文件夹中搜索模板文件OPTIONS 有关模板的选项

配置项中需要修改的部分

设置 DIRS DIRS :[os.path.join(base_DIR, templates )]

模板的变量 视图函数中可以将Python变量封装到字典中传递到模板上

样例

def xxx_view(request):
 dic {
 变量1 : 值1 ,
 变量2 : 值2 ,
 return render(request, xxx.html ,dic)
能传递到模板中的 数据类型

str - 字符串 int - 整型

list - 数组 tuple - 元组

dict - 字典 func - 方法

obj - 类实例化的对象

在模板 html文件 中使用变量的语法

- {{ 变量名 }}

- {{ 变量名.index }}

- {{ 变量名.key}} 字典

- {{ 对象.方法 }}

- {{ 函数名 }}

模板的加载方式 方法一 HttpResponse()

通过 loader 获取模板 通过HttpResponse 进行响应

在视图函数中

或者

return HttpResponse(loader.get_template( index.html ).render())

方法二: render() 推荐使用

使用 render() 直接加载并响应模板

在视图函数中

视图层与模板层之间的交互 视图函数中可以将 Python 变量封装到字典中传递到模板在模板中 可以使用 {{ 变量名 }} 的语法 调用视图传进来的变量 views.py templates/test_html.html 浏览器界面 模板标签

作用 将一些服务器端的功能嵌入到模板中 例如流程控制等

标签语法

{% 标签 %}
........
{% 结束标签 %}
if 标签
{% if 条件表达式1 %}
{% elif 条件表达式2 %}
{% endif %} # 结束标签

if 中使用括号不会改变优先级 而要使用嵌套的 if 实现

locals() 将当前范围内的局部变量封装成一个字典

mycal.html

配置路由(urls.py)

views.py 中 mycal.html的视图函数

如果请求是 GET 返回当前页面

如果请求是 POST 说明用户已经填好公式点击了提交 后端将用户提交的数据进行处理后返回

for标签
{% for 变量 in 可迭代对象 %}
... 循环语句
{% emoty %}
... 可迭代对象无数据时填充的语句
{% endfor %}
内置变量 - forloop 变量描述forloop.counter循环的当前迭代 从 1 开始索引 forloop.counter0循环的当前迭代 从 0 开始索引 forloop.revcountercounter值的倒序forloop.revcounter0counter0值的倒序forloop.first如果这是第一次循环 则为真forloop.last如果这是最后一次循环 则为真forloop.parentloop当循环嵌套 parentloop表示外层循环 模板层过滤器

模板过滤器

定义

在变量输出时对变量的值进行处理

作用

可以通过使用 过滤器 来改变变量的输出显示

语法

{{ 变量 | 过滤器1: 参数值1 | 过滤器2: 参数值2 ...}}

常用过滤器

过滤器说明lower将字符串转换成小写upper将字符串转换成大写safe默认不对变量内的字符串进行html转义add: ‘n’将value的值增加 ntruncatechars:‘n’如果字符串字符多于指定的字符数量 那么会被截断。阶段的字符串将以可翻译的省略号序列 “…” 结尾。……
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266863.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号