Django框架介绍(二)】的更多相关文章

Django 框架介绍 MVC框架和MTV框架 简单了解一下什么是MVC框架.MVC(Model View Controller),是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,是软件工程中的一种软件架构模式:用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中:具有…
Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件.并于2005年7月在BSD许可证下发布. 这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的. 更多Django框架 http://code.ziqiangxuetang.com/django/django-qrcode.ht…
Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件.并于2005年7月在BSD许可证下发布. 这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的. 更多Django框架http://code.ziqiangxuetang.com/django/django-qrcode.htm…
1.MVC框架和MTV框架 MVC全名model view controller,是软件工程中的一种软件架构模式,把软件分为三个基本部分:模型(model).视图(view)和控制器(controller),具有耦合性低,重用性高.生命周期成本低等优点 django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性 django框架的不同之处自安于它拆分的三部分为:model(模型),template(模板),view视图:django使用的框架为MTV Djang…
主要内容 1.        Django框架发展 2.        Django架构,MTV模式 3.        开发流程 4.        开发实例——Poll python下各种框架 一个完整的Web应用框架包括下面功能的支持 服务发布 URL分发 模板支持 数据库处理 Python框架一般都支持前3个方面,按对4个功能的支持情况分类如下: 平台性框架:不依赖数据库,更关注服务的高校构建和运行平台的稳定.代表性框架:Zope和Twisted 轻小型框架:认为数据库不是应用的必要因素…
在介绍一中简单介绍了pytest的安装和简单使用,接下来我们就要实际了解pytest了 一.pytest的用例发现规则 pytest可以在不同的函数.包中发现用例,发现的规则如下 文件名以test_开头的py文件 以test_开头的函数 以Test开头的类 以test_开头的方法(与2类似) 要注意的是所有的包必须要有init.py文件(在使用各种编辑器时会自动生成) 二.pytest运行方式 1.单独执行某一个py文件里所有的用例 pytest test_mod.py 2.执行目录下所有的用例…
cookie http请求时无状态的,一个客户端第一次,第二次,第n次访问同一个服务器都是一样的,服务器都会按照一个新的连接处理.但是,有时候客户端需要服务器记住客户端的登录状态,譬如离开一会,回来之后,仍然保持着之前的登录状态.这时候就需要cookie和session. cookie: 是服务器发送的保存在客户端的一个字符串,浏览器每次请求是都会带上cookie,例如,把用户名和密码保存在cookie中,只要cookie没有过期,以后用户每次登录都可以自动登录,不需要再输入用户名和密码. se…
这片博文就是对django有个大概的了解,通俗的说,就是先让django跑起来. django安装 在linux上安装如下: 源码安装: tar -zxvf Django-1.9.13.tar.gz cd Django/ yum install -y python-setuptools ###需要安装依赖包 python setup.py install 直接yum安装: yum install -y python-pip pip install Django==1.8.16 ###注意版本号…
原文链接:https://www.cnblogs.com/maple-shaw/p/8862330.html Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. import socket sk = socket.socket() sk.bind(()) sk.listen() while True: conn, addr = sk.accept() data = conn.recv…
一.权限组件的使用 # 用户信息表 class UserInfo(models.Model): name = models.CharField(max_length=32) # 写choice user_choice=((0,'普通用户'),(1,'会员'),(2,'超级用户')) # 指定choice,可以快速的通过数字,取出文字 user_type=models.IntegerField(choices=user_choice,default=0) pwd = models.CharFiel…
一.app 在Django中,APP可以用以下类比 大学 --------------------项目 计算机学院------------app01 土木学院 ------------ app02 1.app创建 方式一:在terminate命令行创建: python manage.py startapp app01(app名字) 亦可:pycharm菜单栏中 Tools --> run manage.py task ,然后在terminate输入命令 startapp app01(app名字)…
目录 跨域问题 一.同源策略 二.CORS(跨域资源共享) 三.CORS两种请求(简单请求与非简单请求) 1.简单请求(一次请求) 2.非简单请求(两次请求) 四.CORS在Django中的应用 1.简单请求 2.非简单请求 跨域问题 一.同源策略 只允许当前页面朝当前域下发请求,如果向其他域发请求,请求可以正常发送,数据也可以拿回,但是被浏览器拦截了 只有IP和端口号都相同才是同一个域 二.CORS(跨域资源共享) 整个CORS通信过程,都是浏览器自动完成,不需要用户参与.对于开发者来说,CO…
目录 Django缓存机制 一.什么是缓存 二.Django的6中缓存方式及配置(只需要改配置文件) 1.开发调试缓存(此模式为开发调试使用,实际上不执行任何操作) 2.内存缓存(将缓存内容保存至内存区域中) 3.文件缓存(将缓存内容保存至文件区域中) 4.数据库缓存(将缓存内容保存至数据库区域中) 5.Memcache缓存(使用python-memcached模块) 6.Memcache缓存(使用pylibmc模块) 三.缓存的应用 1.单页面使用缓存(用cache_page装饰器) 2.全局…
目录 ContentType组件 一.什么是ContentType组件 二.使用ContentType 三.使用场景总结 ContentType组件 一.什么是ContentType组件 contentType是Django内置的组件,可以方便我们快速的连表查询. 可以追踪项目中所有app和model的对应关系,并记录在ContentType表中 models.py文件的表结构写好后,通过makemigrations和migrate两条命令迁移数据后,在数据库中会自动生成一个django_con…
目录 分页器与版本控制 一.三种分页器 二.分页器 1.普通分页(PageNumberPagination) 2.偏移分页(LimitOffsetPagination) 3.加密分页(CursorPagination) 4.警告处理 三.版本控制 1.使用 2.反向解析 分页器与版本控制 一.三种分页器 普通分页 偏移分页 加密分页 二.分页器 # 路由 url(r'^books/', views.Book.as_view({'get':'get_all'})) 1.普通分页(PageNumbe…
目录 Django rest_framework-权限组件 一.权限组件的使用 1.使用语法 2.全局使用.局部使用.局部禁用权限 二.源码分析 1.Book中没有as_view 2.APIView的as_view 3.view = super(APIView, cls).as_view(**initkwargs) ---------------------> View中的as_view 4.return self.dispatch(request, *args, **kwargs) -----…
目录 Django rest_framework-认证组件 一.什么是认证 二.利用token记录认证过的用户 1.什么是token 2.token的原理 3.cookie.session.token的区别 三.drf的认证组件 1.基本使用 2.全局使用.局部使用.局部禁用认证 3.不存数据库的token实现认证 四.源码分析 1.Book中没有as_view 2.APIView的as_view 3.view = super(APIView, cls).as_view(**initkwargs…
目录 app注册.模板配置.静态文件配置.数据库连接配置post和get 一.app 二.模板配置 三.静态文件配置 四.数据库连接配置 五.get请求和post请求 六.新手三件套 七.登录功能案例 app注册.模板配置.静态文件配置.数据库连接配置post和get 一.app 在Django中,APP可以用以下类比 大学 --------------------项目 计算机学院------------app01 土木学院 ------------ app02 1.app创建 方式一:在ter…
一.设计表结构 1.班级表结构 表名:grade 字段:班级名称(gname).成立时间(gdate).女生总数(ggirlnum).男生总数(gboynum).是否删除(isDelete) 2.学生表结构 表名:student 字段:学生姓名(sname).学生性别(sgender).学生年龄(sage).学生简介(scontend).所属班级(sgrade).是否删除(isDelete) 二.配置数据库 注意:Django默认使用SQLite数据 在settings.py文件中,通过DATA…
四.Django简介 1.MVC与MTV模型 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示: MTV Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值: M…
一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishView.as_view({'get': 'list', 'post': 'create'})) -视图类必须继承:ViewSetMixin,这里的as_view是ViewSetMixin中重写的as_view方法 -继承ViewSetMixin的先后顺序:class TestAll(ViewSetMixin,APIVi…
一.解析器的作用 根据请求头 content-type 选择对应的解析器对请求体内容进行处理,将传过来的数据解析成字典 二.使用解析器 1.局部使用 在视图类中重定义parser_classes即可,默认能够解析formdata.urlencoded.json格式的数据 from rest_framework.parsers import JSONParser,FormParser class Test(APIView): # 定义两个,表示该是视图类,能够解析urlencoded和json格式…
一.作用 为了控制用户对某个url请求的频率,比如,一分钟以内,只能访问三次 二.自定义频率类 # 写一个频率认证类 class MyThrottle: visit_dic = {} visit_time = None def __init__(self): self.ctime = time.time() # 重写allow_request()方法 # request是request对象,view是视图类,可以对视图类进行操作 def allow_request(self, request,…
一.基本视图 class PublishView(APIView): def get(self, request): publish_list = Publish.objects.all() bs = PublishSerializers(publish_list, many=True) return JsonResponse(bs.data,safe=False) def post(self, request): # 添加一条数据 print(request.data) bs = Publis…
路由控制与响应器 一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishView.as_view({'get': 'list', 'post': 'create'})) -视图类必须继承:ViewSetMixin,这里的as_view是ViewSetMixin中重写的as_view方法 -继承ViewSetMixin的先后顺序:class TestAll(ViewSetMi…
目录 视图组件 一.基本视图 二.自定义的封装视图 三.利用mixin类和generice类编写视图 1.使用 2.源码 四.利用generics 下的ListCreateAPIView,RetrieveUpdateDestroyAPIView 1.使用 2.源码 五.使用ModelViewSet(不建议使用) 1.使用 2.源码 六.强调:ViewSetMixin魔法类 视图组件 一.基本视图 class PublishView(APIView): def get(self, request)…
解析器 一.解析器的作用 根据请求头 content-type 选择对应的解析器对请求体内容进行处理,将传过来的数据解析成字典 二.使用解析器 1.局部使用 在视图类中重定义parser_classes即可,默认能够解析formdata.urlencoded.json格式的数据 from rest_framework.parsers import JSONParser,FormParser class Test(APIView): # 定义两个,表示该是视图类,能够解析urlencoded和js…
目录 频率组件 一.作用 二.自定义频率类 三.内置的访问频率控制类 四.全局.局部使用 1.全局使用 2.局部使用 3.局部禁用 五.源码分析 1.as_view -----> view ------> dispatch ------> initial ----> check_throttles 频率控制 2.self.check_throttles(request) 3.allow_request() 4.self.throttled(request, throttle.wai…
1.单设备的执行很简单,平时可多见的是直接在config中进行配置并进行运行即可.如下: # coding=UTF- ''' Created on // @author: SYW ''' from Test.logs.logs import logging #自己封装的log打印方法 from appium import webdriver import unittest from time import sleep class Test_appium(unittest.TestCase): d…
一.Django框架简介 MVC框架和MTV框架 MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),具有耦合性低.重用性高.生命周期成本低等优点. Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Template(模板)和View(视…