Django入门

一、使用Django的原因

  • 优点:内部提供的包多,方便快捷,开发周期短。如具备admin这样强大的后台管理系统。
  • 缺点:可能有很多包用不上,有冗余
    • Q:你曾经使用过的django包有哪些

二、Django的MVT与JAVA的MVC

在实际代码开发之前我们通常要做设计,追求高扩展,向后兼容。不会因为某个环节的变更导致真个项目崩盘。保证低耦合,即模块与模块之间不要有太强的依赖。

1.MVC的具体分离:

  • 面向查询数据库---面向数据库应该向后兼容高扩展,Model--->不编写sql语句,当更换其他数据库时,只需要更改配置文件即可。
  • 显示模板 View-------页面显示
  • 接受用户请求并处理, Control

2.Django是基于MVC思想,创立了自己的一个架构设计MVT

  • M指的是Model,与数据库交互的部分-----------对应MVC 中的M

  • V指的是view,用来接受并处理用户请求的。 -------对应MVC中C

  • T指的是template,这个是页面显示的模板。里面存放html文件,用到哪个页面,view就调用哪个html。-----对应MVC中V

3.开发好的项目部署服务器就相当于服务端,而用户用浏览器访问的过程中就相当于客户端。

  • 结合HTTP,客户端向服务端发送请求报文,报文里可能会携带用户的数据,比如用户名,密码等一些信息。然后服务端收到请求之后就要做出相应的处理。就是通过view这一部分,如果说需要传数据就去访问数据库,如果显示页面就会去访问template。最后响应的时候会将这些数据存放在body中,返回给客户端,客户端使用浏览器通过对html css渲染,对JS执行,显示出来页面。

4.客户端访问django 的流程

  • 先到url中,如果匹配,视图V被调用,moudel获取数据,那么数据怎么呈现出来呢,就要有模板html,用view加载模板,并把数据放在模板中完成解析,页面产生,然后用view返回。返回报文中body包含数据以及html文本。

MVT具体流程:

1.视图View:
  • 接收请求、逻辑处理、调用数据、输出响应
  • Urls:在自己的应用配置中正则匹配用户输入的url(正则表达式,视图名称)(报错404 就是url没匹配到)
2.模型Moudel:负责和数据库交互
  • 面向对象:模型对象,列表
  • 定义模型类:指定属性及类型,确定表结构,迁移
  • 后台管理:创建管理员,启动服务器,admi,注册admin.py
3.模版Templates:
  • 定义显示的样子
  • 加载:读取文件的内容到内存
  • 渲染:填坑

5.项目开发流程

  1. 创建虚拟环境 python3 -m venv 虚拟环境名
    • 激活虚拟环境:source 11_env/bin/activate
  2. 安装Django (pip install Django【记得连外网】)
  3. 创建项目 (Django-admin startproject 项目名)
  4. 创建应用 (python manage.py startapp)
  5. 在models.py 定义模型类(表中字段)
  6. 定义视图
  7. 配置url
  8. 创建模版
posted @ 2018-10-27 16:13  SutFutureCoder  阅读(86)  评论(0编辑  收藏  举报