zoukankan      html  css  js  c++  java
  • MTV/MVC/Django

    MVC

    根据网上(百度百科)查到的资料,是这个意思:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。很高大上哈,其实并没有,它就是:一种文件的组织和管理形式!把不同类型的文件放到不同的目录下的一种方法。当然,它带来的好处有很多,比如前后端分离,松耦合等等,就不废话了。

    MTV

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

    知道了这个,也就初步知道了Django属于什么类型的web框架了,因为django的流程是这样的,图片是借的

    呐,就这么个流程,我在文章里面也有写,这就不多说了。

    既然如此,django是怎么用的,都有什么东西?现在别管django了,也别管什么MVC/MTV了,先看这个:

    web框架:Web应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架。

    好了,知道了web框架,那么就要知道web,啥是web?百科上给的太多了,我缩写一下:web就是socket,它的生命周期是这样的:

    Http请求本质
    		Django程序:socket服务端
    			a. 服务端监听IP和端口
    			c. 接受请求
    					
    
    :请求头和请求体
    					
    
    					&
    					request.POST
    					request.GET
    			d. 响应:
    					响应头: location:www.baidu.com
    					和
    					响应体
    			e. 断开连接
    					
    		浏览器:    socket客户端
    			b. 浏览器发送:
    				GET请求:
    					"GET /index.html http1.1
    User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x6..
    
    Accept-Encoding:gzip
    
    "
    				POST请求:
    					"POST /index.html http1.1
    User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x6..
    
    Accept-Encoding:gzip
    
    user=cqz&hobby=chen"
    		
    			e. 断开连接
    

    完事儿了,现在说Django,理论知识自行百度,我这里先简单说一下其他操作:

    urls.py
    网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。
    views.py
    处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
    models.py
    与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
    forms.py
    表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。
    templates 文件夹
    views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。
    admin.py
    后台,可以用很少量的代码就拥有一个强大的后台。
    settings.py
    Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等

    上面是简单的django的组成,再往下看:

    新建一个 django project:
        django-admin.py startproject project_name
        django-admin startproject project_name
    
    新建 app
        先进入项目目录下,cd project_name
        然后执行下面的命令
        python manage.py startapp app_name
        django-admin.py startapp app_name
    
    创建数据库表 或 更改数据库表或字段
    Django 1.7.1及以上 用以下命令
        创建更改的文件:python manage.py makemigrations
        将生成的py文件应用到数据库:python manage.py migrate
    使用开发服务器(由于性能问题,不推荐使用)
        python manage.py runserver # 默认启动本地地址和端口
        python manage.py runserver IP地址# 启动指定地址和默认端口
        python manage.py runserver IP地址 端口# 启动指定地址和指定端口
    
    清空数据库:
        python manage.py flush(此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表。)
    创建超级管理员:
        python manage.py createsuperuser --username 名字
        按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
    修改用户密码可以用:
    python manage.py changepassword username

      

  • 相关阅读:
    JavaScript变量存储浅析
    AngularJS学习篇(二十二)
    css目录
    html目录
    javascript目录
    第一篇 dom
    第五篇、css补充二
    第六篇 javascript面向对象
    第三篇 css属性
    jmeter之-图形监控
  • 原文地址:https://www.cnblogs.com/ArkhamKnight/p/9265131.html
Copyright © 2011-2022 走看看