目录

  • Django简介
  • MTV 模型
  • 创建项目
  • 创建app
  • django路由
  • django中orm
  • 1、使用model中类来与数据库中的表对应
  • 2、orm中映射字段大全
  • 3、修改项目中settings中数据库信息并且将创建的app加入到INSTALL_APP中
  • 4数据库同步
  • 5orm中增删改查语句
  • django视图
  • django中间件(类似与filter)
  • django上传文件


Django简介

  Python的WEB框架有Django、Tornado、Flask 等多种,Django是重量级选手中最有代表性的一位,它的优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。许多成功的网站和APP都基于Django。Django是一个开放源代码的Web应用框架,由Python写成。Django采用了MVT的软件设计模式,即模型Model,视图View和模板Template。

MTV 模型

  Django 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:

  M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。

  T 表示模板 (Template):负责如何把页面(html)展示给用户。

  V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。

  除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template,MTV 的响应模式如下所示:

django的mvc架构图_django的mvc架构图

  用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数:

  a.如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板也就是一个网页给用户。

  b.如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据,然后逐级返回。

  视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。

创建项目

django的mvc架构图_字符串_02

创建app

django的mvc架构图_django_03

django路由

django的mvc架构图_数据库_04

django中orm

1、使用model中类来与数据库中的表对应

django的mvc架构图_python_05

2、orm中映射字段大全

django的mvc架构图_python_06

django的mvc架构图_django_07

3、修改项目中settings中数据库信息并且将创建的app加入到INSTALL_APP中

4数据库同步

django的mvc架构图_python_08

5orm中增删改查语句

django的mvc架构图_python_09


django的mvc架构图_字符串_10


改:

  get对象后通过updata()对想修改的属性进行修改

filter后使用update(属性=)修改

删:
  get对象后通过delete()对想删除的属性进行删除
filter后使用delete(属性=)删除

django视图

请求对象: HttpRequest 对象(简称 request 对象)
以下介绍几个常用的 request 属性。
1、GET

  数据类型是 QueryDict,一个类似于字典的对象,包含 HTTP GET 的所有参数。

  有相同的键,就把所有的值放到对应的列表里。

  取值格式:对象.方法。

  get():返回字符串,如果该键对应有多个值,取出该键的最后一个值。

2、POST

  数据类型是 QueryDict,一个类似于字典的对象,包含 HTTP POST 的所有参数。

  常用于 form 表单,form 表单里的标签 name 属性对应参数的键,value 属性对应参数的值。

  取值格式: 对象.方法。

  get():返回字符串,如果该键对应有多个值,取出该键的最后一个值。

3、path

  获取 URL 中的路径部分,数据类型是字符串。

4、method

  获取当前请求的方式,数据类型是字符串,且结果为大写。

响应对象:HttpResponse 对象
响应对象主要有三种形式:HttpResponse()、render()、redirect()。

1、HttpResponse():
  返回文本,参数为字符串,字符串中写文本内容。如果参数为字符串里含有 html 标签,也可以渲染。

2、render():
   返回文本,第一个参数为 request,第二个参数为字符串(页面名称),第三个参数为字典(可选参数,向页面传递的参数:键为页面参数名,值为views参数名)。

3、redirect():
  重定向,跳转新页面。参数为字符串,字符串中填写页面路径。一般用于 form 表单提交后,跳转到新页面。

django中间件(类似与filter)

django的mvc架构图_django_11


django的mvc架构图_python_12


django的mvc架构图_django_13

django上传文件

django的mvc架构图_python_14


django的mvc架构图_数据库_15


django的mvc架构图_django_16


django的mvc架构图_python_17