Django(一):从socket到MVC】的更多相关文章

Django的MVT模式与MVC模式 在正式开始coding之前,我觉得有必要探讨下Django的MVT模式,理论和实践相结合,才能更好的掌握一门技术.Django中的MVT模式,Django就是属于MVC模式.MVC(Model-View-Controller)模型-视图-控制器,MVC是一种 软件框架模式,最开始用于Desktop程序开发,现在已被广泛使用,包括Web开发,MVT(Model-View- Template),Django内部的URLconf作为控制器的角色,负责了接收用户请求…
目录 一:模块导入 二:函数 三:中间件 四:MVC和MTV 五:csrf 一:模块导入 第一种:继承 这里的母版更像是一个架子,子板都是定义的内容(如果多个页面中 ,存在相同的页面:这样我们可以抽到母版中实现) 母版:layer.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</titl…
一.socket的http套路 web应用本质上是一个socket服务端,用户的浏览器是一个socket客户端.socket处在应用层与传输层之间,是操作系统中I/O系统的延伸部分(接口),负责系统进程和应用之间的通信. HTTP协议又称超文本传输协议. //浏览器发送一个HTTP请求: //服务器收到请求,根据请求信息,进行函数处理,生成一个HTML文档: //服务器把HTML文档作为HTTP响应的Body发送给浏览器: //浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示:…
而我发此文的目的有二:一者,让初学者能够听到一家之言,是为解惑:二者,更希望抛砖引玉,得到专家的批判. 许多学生经常问我,MVC到底和WEB三层架构有啥关系? 开始时,我也只能给他们一些模糊的回答.时间长了,自己的良心开始受到谴责.对于一个程序员来说,这个问题显得挺学究.我在跟自己的许多程序员朋友以及同 行(Java讲师)都对MVC和WEB三层架构的关系做了探讨.现在可以说对WEB三层架构和MVC之间的关系理出了头绪.此可谓教学相长. 先说说Web三层架构这个古老话题.地球人都知道web三层架构…
一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能正常运行,socket有很多如下,  但是它们必须遵循一个规范 WSGI(web服务网关接口)这个所有socket都遵守的规范就是WSGI. Django默认使用: Django框架中不包含socket,它默认使用第三方的wgiref socket(并发性能低 测试使用),也可以结合其他socket…
一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能正常运行,socket有很多如下,  但是它们必须遵循一个规范 WSGI(web服务网关接口)这个所有socket都遵守的规范就是WSGI. Django默认使用: wsgiref socket(并发性能低 测试使用) 在公司生产系统上一般用uwsgi+nginx+Django结合使用 wsgire…
MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写 模型 - 视图 - 控制器是一种通常用于开发用户界面的体系结构模式,用于将应用程序划分为三个互连的部分.这样做是为了将信息的内部表示与信息呈现给用户和从用户接受的方式分开. MVC设计模式将这些主要组件分离,从而实现高效的代码重用和并行开发. Model 是用来处理数据逻辑的部分,通常负责在数据库中存取数据. View 是处理数据显示的部分,即我们所看…
 MVC与MTV概念 MTV与MVC(了解)        MTV模型(django):            M:模型层(models.py)            T:templates            V:视图层views        MVC模型:            M:模型层(models.py)            V:视图层(views.py)            C:控制器(Controller) urls.py        本质:django的MTV也是MVC…
MTV与MVC MTV模型(django): M:模型层(models.py) T:templates V:views MVC模型: M:模型层(models.py) V:视图层(views.py) C:控制器(Controller) urls.py 本质:django的MTV也是MVC 多对多表三种创建方式 1.第一种 django orm自动帮我们创建 class Book(models.Model): name = models.CharField(max_length=32) autho…
MTV与MVC MTV模型(django): M:模型层(models.py) T:templates V:views MVC模型: M:模型层(models.py) V:视图层(views.py) C:控制器(Controller) urls.py 本质:django的MTV也是MVC 多对多表三种创建方式 第一种 django orm自动帮我们创建 class Book(models.Model): name = models.CharField(max_length=32) authors…
服务端(自己实现django) ''' django简化版:socket服务端 a.收发浏览器信息----wsgiref.py b.根据用户访问的不同路径执行不同函数 c.从html读取出内容,并完成字符串的替换(动态网页) 按照功能划分web框架 1.框架自带a,b,c------tornado框架 2.框架自带b,c,使用第三方的a-------django框架 3.框架自带b,使用第三方a和c--------flask 按照维度划分 1.django----大而全,网站能用的都有 2.其他…
Web框架本质是socket 各种socket一般都遵循wsgi协议 Django里面没有socket Django映射到Web框架,用了一个别人的socket:wsgiref 所以:django默认用的是 wsgiref+django  (本地测试与性能无关) 工作用uwsgi+django socket需要做的事:1.把请求相关的东西处理好(然后给 Django,Django处理后再给socket)2.把Django处理好的结果返回给用户 流程: 用户访问,先socket分析处理(请求头,请…
如果你看过我之前所写的关于django的文章的话,你会发现每一篇都具有可操作性,都是从创建项目开始的,虽然中间之加了一些要讲解的重点.这也是我博文的特点,我希望在你看到我这一篇文章的时候是可操作的,不管是否具备了相关基础. 如果你是第一次接触django,建议参考我的之关于django的内容练习一下: http://www.cnblogs.com/fnng/category/581256.html 这一篇要介绍django是如何工作的.如果你把这过程梳理清晰了,那么你对django就算入门了.…
15:31:14一.web框架1.框架:即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演.对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端.2.Web应用:就是先把HTML用文件保存好,用一个现成的HTTP服务器软件(apache/nginx),接收用户请求,从文件中读取HTML,返回.做法是底层代码由专门的服务器软件实现,我们用Py…
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 总的来说:Web框架的本质就是浏览器和服务器基于socket套接字实现请求和响应的过程 半成品自定义web框架 import socket sk = socket.socket() sk.bind(("127.0.0.1", 80)) sk.listen() while True: conn, addr = sk.acce…
昨日内容回顾 1. socket创建服务器 2. http协议: 请求协议 请求首行 请求方式 url?a=1&b=2 协议 请求头 key:value 请求体 a=1&b=2(只有post请求才有请求体) 响应协议 响应首行 协议 状态码 文本 响应头 key:value 响应体 html字符串 3. wsgiref模块(基于wsgi协议) 功能: 1. 按着http协议请求格式解析请求数据----envision:{} 2. 按着http协议响应格式封装响应数据----response…
Django是一个开放源代码的Web应用框架,由Python写成. python 中的web框架有许多例如:Django.Tornado.Flask..而Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 安装篇 01 安装Django 安装之前先确保你已经安装了python(这个就不用说了吧=.=!),并顺便瞅一眼版本对应关系,可以略过~ 0x01 L…
Web框架简介 Web开发是Python语言应用领域的重要部分,也是目前最主要的Web开发语言之一,在其二十多年的历史中出现了数十种Web框架,比如Django.Tornado.Flask.Twisted.Bottle和Web.py等,有的历史悠久,有的发展迅速,还有的已经停止维护. Django: 发布于2003年,是当前Python世界里最负盛名且最成熟的Web框架,最初被用来制作在线新闻的Web站点,Django的各模板之间结合得比较紧密,所以在功能强大的同时又是一个相对封闭的系统(依然可…
Django(个人推荐, 如果项目较大 需要协同开发, 建议使用django这种重量级框架, 如果类似于纯api的后端应用建议使用 flask, 轻量小巧 , 麻雀虽小五脏俱全) 1.Django是什么 他是一个基于python语言的WEB框架 为什么使用Django 他是python中最大的框架集成很多api 他是全球第五大框架(代表作豆瓣) 适合开发工期短,效率高使用 Django的优势 开发效率高,功能强大 通过wsgi模块理解Django的工作集成原理 路由分发器通过写一个函数上传一个字…
一:django路由系统: 注意:我们在urls.py中 定义url的时候,可以加$和不加$,区别的是:加$正则匹配的时候,比如:'/index/$'只能匹配'/index/'这样的url 不能匹配'/index/1'.而不加$的可以进行模糊匹配的. 至于加不加 $由自己的需求来定. a)在项目中路由默认配置在总项目下得urls.py文件中,如下: from django.conf.urls import url from django.contrib import admin from ops…
在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接.             产能在软件开发环境中意味着及时完成工作的能力.开发人员经常发现自己在重复执行相同的任务,这无疑会降低其产能.这是框架能够派上用场的地方:使用适当的框架,您可以将重点放在项目需求上,而不是处理低级.棘手的实施细节.            Django 是基于 Python 的 Web 应用程序框架,最初旨在简…
https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html Setting up Django and your web server with uWSGI and nginx This tutorial is aimed at the Django user who wants to set up a production web server. It takes you through the steps re…
https://pypi.python.org/pypi/setuptools#downloads https://www.python.org/ftp/python/ 开机 加入 uwsgi nginx 自启动 echo "/etc/init.d/nginx restart" >>/etc/rc.local echo "/usr/bin/setsid /data/soft_ware/uwsgi-1.9.6/uwsgi /data/soft_ware/s10day…
手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供的服务器包用apt-get这种方式安装的.这种方式比较简单,但没有新版本. 另外就是使用源代码自己编译安装,这种比较繁琐,但能选择适合的版本安装. 这里介绍的是第二种,使用源代码编译的版本进行安装部署. 部署测试环境: windows 7 Pro (client) VM VirtualBox 5.0…
Setting up Django and your web server with uWSGI and nginx This tutorial is aimed at the Django user who wants to set up a production web server. It takes you through the steps required to set up Django so that it works nicely with uWSGI and nginx. I…
最近工作中要用到python,先前没怎么接触过,把python本身的语法以及特性撸过一边之后,这两天按着django官方的文档倒腾了几天, 文档非常详细,本人英语水平也就那样,大体没什么压力,建议像我一样的新手直接去看官方文档,首先内容绝对是更新到了最新的版本,内容组织渐进有序,当然咯,就算按照文档一步一步来,倒腾的过程中总归会碰到些问题,这边博文权当给个记个流水账以后能翻翻或者说有更深的理解了顺便来update下,看看自己的一些思考方式,若果顺便也能给其他人带来点东西就算锦上添花了,扯回正题:…
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html 讲的很清楚,不过还是需要一些注意的地方 对于uwsgi+nginx的部署方式,它的访问关系大概是: the web client <-> the web server <-&…
Reference:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html Setting up Django and your web server with uWSGI and nginx This tutorial is aimed at the Django user who wants to set up a production web server. It takes you throu…
在网上搜了很多篇Django+uwsgi+Nginx的部署文章,忙了一下午头昏脑胀,最终完成了部署.部署文章流程讲解都很好,但在细节上或许缺乏一些注意力,导致我多篇文章来回切换在字里行间寻找蛛丝马迹.既然我完成了部署,那我何不写下自己的流程和心得,让后来人有一些参考? 原理 Django+uwsgi+Nginx的工作模式如下图所示,三个服务各司其职,分别为: Nginx负责接收浏览器的连接,静态文件Nginx能够自己处理,有诸如查询数据库,判断输入数据等,调用uwsgi. uwsgi为web网关…
1. Django的简介 Django是一个由python写成的开放源代码的Web应用框架. Django的目的是使常见的Web开发任务,快速和容易. 2. Django框架的特点 1. 遵循MVC开发模式 2. 内置进行快速web开发所需的各种组件 3. 利用ORM(对象关系映射)机制来定义和数据库,使开发人员可以构建出独立于具体数据库引擎的web应用 4. 内置后台管理web应用 5. 内置web Server,开发人员无需安装任何web Server就可以进行各种web应用的开发和测试 6…