美文网首页
Django 基础

Django 基础

作者: 04a07ffbfb62 | 来源:发表于2016-07-06 10:37 被阅读57次

来自http://www.maiziedu.com/course/307/

Python web framework 介绍

  • 什么是框架

    特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮助你快速开发特定的系统,简单说就是使用别人搭好的舞台,你来做表演。

  • 常见框架

    • full-stack framework(重量级框架): Django web2py
  • 如何选择框架

    • 从项目需求出发
      • 以内容结构优先,选择Django
      • 以app接口优先(app后台提供的数据和接口),选择轻量级
    • 从框架特点去选择
      • 高性能需求,选择Tornado
  • 开发环境

  • Pyhton 3.5.1
  • Django 1.9.5
  • MySQL 5.6
  • PyMySQL 0.7.2

Django Basics

命令行工具 django-admin.py manage.py

django-admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django project里面都会有一个manage.py。

语法:

django-admin.py <subcommand> [options]
manage.py <subcommand> [options]

subcommand为子命令, options为可选的

常用子命令:

django-admin.py help <command> # 查询一个命令的使用方法
startproject <name> # 创建一个新项目
startapp <name>     # 创建新的app

manage.py命令

createsuperuser # 创建超级用户
changepassword <username> # 更改密码

快速创建一个网页

目录结构

  • hello_django(project):
_pycache_  缓存文件
setting.py 项目配置
urls.py    url配置
wsgi.py    WSGI配置
  • hello(app)
migrations  数据库同步脚本目录
admin.py    admin配置
apps.py     app配置
models.py   模型代码
tests.py    单元测试
views.py    业务代码

创建查询用户列表页面

  • 在setting.py里的INSTALLED_APPS增加app名字
  • 在views.py里定义一个业务请求处理的函数
def hello(request):
    return render(request, 'table.html')
  • 定义一个模板并引入静态文件
    • 在hello下创建static,templates文件夹;
    • static 存放静态文件(js,css);
    • templates 存放模板文件;
  • 在urls.py里面定义url地址
  • 启动服务
  • 把用户数据查询出来并渲染到页面上

mtv开发模式

Django的MTV模式本质上和MVC一样,也是为了各个组件保持松耦合关系,知识定义上有不同。

  • M(Model)模型:负责业务对象和数据库的关系映射(ORM)
  • T(Template)模板:负责如何把页面展示给用户(html)
  • V(view)视图:负责业务逻辑,并在适当时候调用model和template
  • URL分离器:将一个个个的URL的页面请求分发给不同的View处理,View再调用相应的Model和Template。

Django响应原理流程图

  • web服务器(中间件)收到一个HTTP请求
  • Django在URLconf里查找相应的视图(View)函数来处理HTTP请求
  • 视图函数调用相应的数据模型来存取数据、调用相应的模板想用户展示页面
  • 视图函数处理结束后返回一个HTTP的相应给Web服务器
  • Web拂去其将响应发送给客户端

MTV的优势

  • 各种组件都是松耦合的。每个由Django驱动的web应用都有着明确的母的,并且可独立更改而不影响其他的部分(如:开发者更改一个应用程序中的URL而不用影响到这个程序底层的实现;设计可以改变HTML页面的样式而不用接触Python代码;数据库管理员可以重新命名数据表并且只需更改模型,无需从一大堆文件中进行查找和替换)

Django MTV模式 文件

相关文章

网友评论

      本文标题:Django 基础

      本文链接:https://www.haomeiwen.com/subject/njrkjttx.html