【无标题】

**

Django 框架内部设计模式

**
一、MVC框架

  1. MVC模式
    有一种程序设计模式叫 MVC,其核心思想是分工, 解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
  2. MVC 的全拼为 Model-View-Controller
  • M 全拼为 Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
  • V 全拼为View,用于封装结果,生成页面展示的 html 内容。
  • C 全拼为 Controller,用于接收请求,处理业务逻辑,与 Model 和View 交互,返回结果。

二、MVT框架

  1. MVT模式
  • M 全拼为 Model,与 MVC 中的 M 功能相同,负责和数据库交互,进行数据处理。
  • V 全拼为 View,与 MVC 中的 C 功能相同,接收请求,进行业务处理,返回应答。
  • T 全拼为 Template,与 MVC 中的 V 功能相同,负责封装构造要返回的 html。

三、创建Django项目:

  1. 项目目录如下:
    在这里插入图片描述
  • init.py: 说明test1是一个python包。
  • settings.py: 项目的配置文件。
  • urls.py: 进行url路由的配置。
  • wsgi.py: web服务器和Django交互的入口。
  • manage.py: 项目的管理文件

四、创建应用

 一个项目由很多个应用组成的,每一个应用完成一个功能模块。
命令:python manage.py startapp 应用名

在这里插入图片描述

  • init.py: 说明目录是一个Python模块。
  • models.py: 写和数据库项目的内容, 设计模型类。
  • views.py: ,接收请求,进行处理,与M和T进行交互,返回应答。 定义处理函数,视图函数。
  • tests.py: 写测试代码的文件。
  • admin.py: 网站后台管理相关的文件。

五、应用注册:

建立应用和项目之间的联系,需要对应用进行注册。修改settings.py中的INSTALLED_APPS配置项。
在这里插入图片描述

六、启动项目:

运行开发web服务器命令:python manage.py runserver

七、模型类:

  • O(objects):类和对象。
  • R(Relation):关系,关系数据库中的表格。
  • M(Mapping):映射。
    django中内嵌了ORM框架,ORM框架可以将类和数据表进行对应起来,只需要通过类和对象就可以对数据表进行操作。
    在Django中主要是设计类:模型类。
    ORM另外一个作用:根据设计的类生成数据库中的表。
  1. 模型类设计
    必须继承与models.Model类。
    Models.ForeignKey可以建立两个模型类之间一对多的关系,django在生成表的时候,就会在多端的表中创建一列作为外键,建立两个表之间一对多的关系。
  2. 模型类生成表
    (1)生成迁移文件:
    命令:python manage.py makemigrations
    (2)执行迁移生成表
    命令:python mange.py migrate
    根据迁移文件生成表。
    生成表名的默认格式:应用名_模型类名小写

八、视图

在Django中,通过浏览器去请求一个页面时,使用视图函数来处理这个请求的,视图函数处理之后,要给浏览器返回页面内容。

  1. 定义视图函数
    视图函数定义在views.py中。
    例:
    在这里插入图片描述
  • 图函数必须有一个参数request
  1. 进行url配置
  • url配置的目的是让建立url和视图函数的对应关系。url配置项定义urlpatterns的列表中,每一个配置项都调用url函数。
  • url函数有两个参数,第一个参数是一个正则表达式,第二个是对应的处理动作。
  • 配置url时,有两种语法格式:
    (1)url(正则表达式,视图函数名)
    (2)url(正则表达式,include(应用中的urls文件))工作中在配置url时,首先在项目的urls.py文件中添加配置项时,并不写具体的url和视图函数之间的对应关系,而是包含具体应用的urls.py文件,在应用的urls.py文件中写url和视图函数的对应关系
  1. url匹配过程
    在项目的urls.py文件中包含具体应用的urls.py文件,应用的urls.py文件中写url和视图函数的对应关系。
    当用户输入如http://127.0.0.1:8000/aindex时,去除域名和最前面的/,剩下aindex,拿aindex字符串到项目的urls文件中进行匹配,配置成功之后,去除匹配的a字符,那剩下的index字符串继续到应用的urls文件中进行正则匹配,匹配成功之后执行视图函数index,index视图函数返回内容hello
    python给浏览器来显示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值