Python Web主流的三种框架:Django、Flask、Tornado,使用频度:Django>Flask>Tornado

一、设计模式

MVC:模型(Model)、View(视图)、Controler(控制器)

二、优点
  1. 开发效率高
  2. 功能强大,丰富的第三方插件
  3. 重视安全,避免很多漏洞
三、安装

pip安装:pip3 install django==2.2.1
官网下载Django安装包,执行:python setup.py install

Django的基本命令
  1. startproject:创建一个Django项目
  2. startapp:创建一个Django应用
  3. check:校验项目完整性
  4. runserver:本地简易运行Django项目(进入Django环境,并且运行django项目)
  5. shell:进入Django项目的Python Shell环境
  6. test:执行Django用例测试
四、Django的基本命令(数据库相关)
  1. makemigrations:创建模型变更的迁移文件
  2. migrate:执行上一个命令创建的迁移文件
  3. dumpdata:把数据库数据导入到文件
  4. loaddata:把文件数据导入到数据库
五、Django应用和Django项目的区别
  1. Django是一个可重用的Python软件包,不可以直接运行。可以管理模型、视图、模板、路由和静态文件等。
  2. Django项目是基于Django应用的,可以包含一组配置和若干个Django应用。
六、Django项目主要目录/文件
  1. settings.py:项目配置文件
  2. urls.py:项目路由配置文件
  3. manage.py:项目管理文件
七、Django应用主要目录/文件
  1. view.py:视图处理
  2. models.py:定义应用模型
  3. admin.py:定义Admin模块管理对象
  4. apps.py:声名应用
  5. test.py:编写应用测试用例
  6. urls.py:管理应用路由
八、 Django模型层

概念:位于Django视图层与数据库之间,用于Python对象和数据库表之间的转换。

Django为什么使用模型层?

  1. 屏蔽不同数据库之间的差异
  2. 使开发者更加专注于业务逻辑的开发
  3. 提供的很多便捷工具有助开发
九、Django模型层定义字段
  1. IntegerField:数字类型
  2. TextField:文本类型
  3. DateTimeField:日期类型
  4. AutoField:自增
  5. primary_key:主键
十、Django Shell

概念:类似Python Shell,用于交互式编程,继承Django项目环境
优点:

  1. 临时性操作使用Django Shell更加方便
  2. 小范围Debug更简单,不需要运行整个项目
十一、Django Admin

概念:Django项目的后台管理工具,读取定义的模型元数据,提供强大的管理使用页面

为什么使用Django Admin?

  1. Django Shell添加数据麻烦
  2. 提供认证用户、显示管理模型、校验输入等功能
  3. 是管理页面是基础设施中重要的部分
十二、Django的模板系统

概念:分离文档的表现形式和表现内容
特点:模板系统定义了特有的标签占位符
基本语法:

  1. 变量标签:{{变量}}
  2. for循环标签:{% for x in list %}{% endfor %}
  3. if-else分支标签:{% if %}{% else %}{% endif %}

Django简介 --Python Web的更多相关文章

  1. Pycharm+django新建Python Web项目

    这两天初学Python,首先是学习Python语法有PyCharm就可以运行Console程序了,因为是初学所以,尽量写的比较详细,包括参考的资料地址...   1.下载Python,并安装[本文版本 ...

  2. 【Django】Python web开发:几个模板系统的性能对比(转)

    http://blog.chedushi.com/archives/910 结论: 点评一下吧.django就是个渣,不多废话了.webpy的代码很简洁,可惜速度太慢了.bottle看起来快一点,不过 ...

  3. Python Web开发中的WSGI协议简介

    在Python Web开发中,我们一般使用Flask.Django等web框架来开发应用程序,生产环境中将应用部署到Apache.Nginx等web服务器时,还需要uWSGI或者Gunicorn.一个 ...

  4. Django框架(一)-- Django简介

    django(Python Web框架) Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗 ...

  5. nginx+gunicorn/uwsgi+python web 的前世今生

    我们在部署 flask.django 等 python web 框架时,网上最多的教程就是 nginx+gunicorn/uwsgi 的部署方式,那为什么要这么部署呢,本文就来系统地解释这个问题. 必 ...

  6. Django Web开发【1】Django简介

    前言 看完<Django Book>之后, 总想找个实例来实战开发下,无奈国内Django的书籍相当少,只能从英文书籍中吸取养料,偶然之后得到Learning Website Develo ...

  7. Django之web应用、http协议和django简介

    等了好久终于等到今天,盼了好久终于把梦实现,啦啦啦.....学习python两个多月了,终于等到python的高潮,老师说要是把Django学会了,python的web开发就差不多了,也相当于迎来了p ...

  8. python 全栈开发,Day67(Django简介)

    昨日内容回顾 1. socket创建服务器 2. http协议: 请求协议 请求首行 请求方式 url?a=1&b=2 协议 请求头 key:value 请求体 a=1&b=2(只有p ...

  9. Django准备知识-web应用、http协议、web框架、Django简介

    一.web应用 Web应用程序是一种可以通过web访问的应用程序(web应用本质是基于socket实现的应用程序),程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 ...

随机推荐

  1. Jquery使用心得

    1.<form>提交时,会提交里面有name属性的元素,而不是id属性   $("#form").serialize(); 得到里面每个元素的拼接值 id=1& ...

  2. java23种设计模式等等。。

    23种设计模式http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html 提升Java代码性能和安全性https://blog ...

  3. jmeter压测过程中报java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider

    由于在java中添加了第三方安全策略文件,具体请看https://www.cnblogs.com/mrjade/p/10886378.html,导致在用jmeter压测过程中会遇到以下错误 解决办法: ...

  4. Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

    答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个. 浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改 ...

  5. Python中匹配IP的正则表达式

    下面是IPv4的IP正则匹配表达式 import re #简单的匹配给定的字符串是否是ip地址,下面的例子它不是IPv4的地址,但是它满足正则表达式 if re.match(r"^(?:[0 ...

  6. 【HDU4622】Reincarnation

    [HDU4622]Reincarnation 一眼似乎不可做,但发现\(strlen(x)\)很小,暴力\(O(n^2)\)预处理每个区间\((l,r)\),查询时\(O(1)\)输出就好了 #inc ...

  7. class与computed一起应用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. IdentityServer4入门三:授权模式

    在入门一.入门二我们实现了一个完整的API保护的过程.需要保护的API只需在其Controler上应用[Authorize]特性,来显式指定受保护的资源.而我们实现的这个例子,所应用的模式叫“Clie ...

  9. 如何计算一个C/C++程序运行时间

    前两天要计算一个用C++实现的算法运行时间,就用了clock()这个函数.程序大体上如下: clock_t start,end; start = clock(); /*my code*/ end = ...

  10. File contains parsing errors: file:///etc/yum.repos.d/docker-ce.repo [line 84]: docker-ce-nightly-source]

      错误:File contains parsing errors: file:///etc/yum.repos.d/docker-ce.repo     [line 84]: docker-ce-n ...