码迷,mamicode.com
首页 > 其他好文 > 详细

<Django之初见>

时间:2018-09-16 22:29:08      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:详细说明   col   映射   family   pytho   管理   游戏   项目   引用   

Django

1. web框架介绍

  具体介绍Django之前,必须先介绍WEB框架等概念。

  web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。

  一般web框架的架构是这样的:

技术分享图片

 

  其它基于python的web框架,如tornado、flask、webpy都是在这个范围内进行增删裁剪的。例如tornado用的是自己的异步非阻塞“wsgi”,flask则只提供了最精简和基本的框架。Django则是直接使用了WSGI,并实现了大部分功能。

2. MVC/MTV介绍

  MVC百度百科:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

  通俗解释:一种文件的组织和管理形式!不要被缩写吓到了,这其实就是把不同类型的文件放到不同的目录下的一种方法,然后取了个高大上的名字。当然,它带来的好处有很多,比如前后端分离,松耦合等等,就不详细说明了。       

  模型(model):定义数据库相关的内容,一般放在models.py文件中。

  视图(view):定义HTML等静态网页文件相关,也就是那些html、css、js等前端的东西。

  控制器(controller):定义业务逻辑相关,就是你的主要代码。  

  MTV: 有些WEB框架觉得MVC的字面意思很别扭,就给它改了一下。view不再是HTML相关,而是主业务逻辑了,相当于控制器。html被放在Templates中,称作模板,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。

3.Django的MTV模型组织

  目录分开,就必须有机制将他们在内里进行耦合。在Django中,urls、orm、static、settings等起着重要的作用。一个典型的业务流程是如下图所示:

技术分享图片

 

4. Django文件结构

 projectname/

  manage.py                                          ----项目管理命令行工具,用于主程序的管理

  projectname/                                     ----项目名称

          __init__.py                                          

    settings.py                                          ----项目配置文件,定义项目组件,名称,导入python包等

    urls.py                                                 ----项目URL路由映射

    wsgi.py                                               ----定义WSGI接口信息,一般无需改动

  app/                                                   ----app应用名称

         __init__.py                                           

    admin.py                                            ----管理站点声明文件

    apps.py                                              ----定义应用信息,AppConfig类中定义app 数据元Meta

    models.py                                          ----app模型层数据类文件

    views.py                                             ----定义url响应函数

    tests.py                                              ----测试代码文件,一般不会用到

    migrations/                               ----用于定义引用迁移功能

      __init__.py                                   

  templates/                                      ----html模板文件存放目录

另外一般在项目中还会创建 static目录,用于存放网页静态文件

<Django之初见>

标签:详细说明   col   映射   family   pytho   管理   游戏   项目   引用   

原文地址:https://www.cnblogs.com/halfleaf/p/9657706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!