摘要:
一、分页 试问如果当数据量特别大的时候,你是怎么解决分页的? 方式a、记录当前访问页数的数据id 方式b、最多显示120页等 方式c、只显示上一页,下一页,不让选择页码,对页码进行加密 1、基于limit offset 做分页 from rest_framework.pagination impor 阅读全文
posted @ 2018-02-21 17:44
小河马的博客
阅读(254)
评论(0)
推荐(0)
摘要:
一、版本 程序也来越大时,可能通过版本不同做不同的处理 没用rest_framework之前,我们可以通过以下这样的方式去获取。 class UserView(APIView): def get(self,request,*args,**kwargs): version = request.quer 阅读全文
posted @ 2018-02-21 17:00
小河马的博客
阅读(260)
评论(0)
推荐(0)
摘要:
一、认证 认证请求头 views.py #!/usr/bin/env python # -*- coding:utf-8 -*- from rest_framework.views import APIView from rest_framework.response import Response 阅读全文
posted @ 2018-02-21 16:43
小河马的博客
阅读(1393)
评论(0)
推荐(0)
摘要:
一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的 阅读全文
posted @ 2018-02-21 15:58
小河马的博客
阅读(420)
评论(0)
推荐(0)
摘要:
一、请求到来之后,都要先执行dispatch方法,dispatch方法方法根据请求方式的不同触发get/post/put/delete等方法 注意,APIView中的dispatch方法有很多的功能 def dispatch(self, request, *args, **kwargs): """ 阅读全文
posted @ 2018-02-21 15:50
小河马的博客
阅读(411)
评论(0)
推荐(0)
摘要:
一、SQLAlchemy-Utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法 import datetime from sqlalchemy import create_engine from sqlalchemy.ex 阅读全文
posted @ 2018-02-21 15:45
小河马的博客
阅读(703)
评论(0)
推荐(0)
摘要:
一、wtforms源码流程 1、实例化流程分析 # 源码流程 1. 执行type的 __call__ 方法,读取字段到静态字段 cls._unbound_fields 中; meta类读取到cls._wtforms_meta中 2. 执行构造方法 a. 循环cls._unbound_fields中的 阅读全文
posted @ 2018-02-21 15:43
小河马的博客
阅读(703)
评论(0)
推荐(0)
摘要:
Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务;使得脚本和系统分开; Flask Script和Flask本身的工作方式类似,只需定义和添加从命 阅读全文
posted @ 2018-02-21 15:42
小河马的博客
阅读(191)
评论(0)
推荐(0)
摘要:
简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数据的一种工具,五大类型。非关系型数据库 memcached filesystem mongodb s 阅读全文
posted @ 2018-02-21 15:41
小河马的博客
阅读(173)
评论(0)
推荐(0)
摘要:
一、简单介绍flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。 安装: pip3 install wtforms 二、简单使用wtforms组件 1、用户登录 具体代码: from flask import Flask,render_ 阅读全文
posted @ 2018-02-21 15:38
小河马的博客
阅读(244)
评论(0)
推荐(0)
摘要:
一、实例化补充 instance_path和instance_relative_config是配合来用的、这两个参数是用来找配置文件的,当用app.config.from_pyfile('settings.py')这种方式导入配置文件的时候会用到 from flask import Flask,re 阅读全文
posted @ 2018-02-21 15:33
小河马的博客
阅读(611)
评论(0)
推荐(0)
摘要:
一、flask实现的分页组件 from urllib.parse import urlencode,quote,unquote class Pagination(object): """ 自定义分页 """ def __init__(self,current_page,total_count,bas 阅读全文
posted @ 2018-02-21 15:23
小河马的博客
阅读(284)
评论(0)
推荐(0)
摘要:
from flask import Flask,render_template,request,redirect,session app = Flask(__name__,template_folder='templates') app.secret_key = "sdsfdsgdfgdfgfh" 阅读全文
posted @ 2018-02-21 15:21
小河马的博客
阅读(432)
评论(0)
推荐(0)
摘要:
小知识: 1、子类继承父类的三种方式 class Dog(Animal): #子类 派生类 def __init__(self,name,breed, life_value,aggr): # Animal.__init__(self,name,breed, life_value,aggr)#让子类执 阅读全文
posted @ 2018-02-21 15:17
小河马的博客
阅读(1319)
评论(0)
推荐(0)
摘要:
知识点回顾 1、flask依赖wsgi,实现wsgi的模块:wsgiref,werkzeug,uwsgi 2、实例化Flask对象,里面是有参数的 app = Flask(__name__,template_folder='templates',static_url_path='/xxxxxx') 阅读全文
posted @ 2018-02-21 15:05
小河马的博客
阅读(315)
评论(0)
推荐(0)
摘要:
一、Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于F 阅读全文
posted @ 2018-02-21 14:57
小河马的博客
阅读(250)
评论(0)
推荐(0)
摘要:
一、admin的源码流程 首先可以确定的是:路由关系一定对应一个视图函数 a、当点击运行的时候,会先找到每一个app中的admin.py文件,并执行 b、执行urls.py admin.site是什么? admin.site,urls 返回的是一个元组,里面的第一个元素是一个列表 django-ad 阅读全文
posted @ 2018-02-21 14:50
小河马的博客
阅读(245)
评论(0)
推荐(0)
摘要:
一、面向对象复习 1、类的继承 class Base(object): def __init__(self,val): self.val = val def func(self): self.test() print(self.val) def test(self): print("Base.tes 阅读全文
posted @ 2018-02-21 14:48
小河马的博客
阅读(328)
评论(0)
推荐(0)
摘要:
一、假设有三张表 Room id 1 2 .. 1000 User: id 1 .. 10000 Booking: user_id room_id time_id date 1 1 8:00 2017-11-11 1 2 8:00 2017-11-11 1 3 8:00 2017-11-11 1 4 阅读全文
posted @ 2018-02-21 14:38
小河马的博客
阅读(178)
评论(0)
推荐(0)
摘要:
一、ModelForm的介绍 ModelForm a. class Meta: model, # 对应Model的 fields=None, # 字段 exclude=None, # 排除字段 labels=None, # 提示信息 help_texts=None, # 帮助提示信息 widgets 阅读全文
posted @ 2018-02-21 14:37
小河马的博客
阅读(189)
评论(0)
推荐(0)
摘要:
一、中介模型:多对多添加的时候用到中介模型 自己创建的第三张表就属于是中介模型 class Article(models.Model): ''' 文章表 ''' title = models.CharField(max_length=64,verbose_name="文章标题") summary = 阅读全文
posted @ 2018-02-21 14:34
小河马的博客
阅读(361)
评论(0)
推荐(0)
摘要:
一、为什么会有跨域问题? 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href属性,a标签什么的都不拦截。 二、解决跨域问题的两种方式 JSONP CORS 三、JSONP 先简单来说一下JSONP,具体详细详见上面JSONP JSONP是json用来跨 阅读全文
posted @ 2018-02-21 14:31
小河马的博客
阅读(543)
评论(0)
推荐(0)
摘要:
一、回顾jQuery实现的ajax 首先说一下ajax的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求; AJAX无须刷新整个页面; 因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高; jquery 实现的ajax index.html <!DOCTY 阅读全文
posted @ 2018-02-21 14:23
小河马的博客
阅读(204)
评论(0)
推荐(0)
摘要:
一、注册相关的知识点 1、Form组件 我们一般写Form的时候都是把它写在views视图里面,那么他和我们的视图函数也不影响,我们可以吧它单另拿出来,在应用下面建一个forms.py的文件来存放 2、局部钩子函数 def clean_username(self): username = self. 阅读全文
posted @ 2018-02-21 11:54
小河马的博客
阅读(721)
评论(0)
推荐(0)
摘要:
一、需要知道的新知识点 1、刷新验证码。给src属性加一个?号。加个?会重新去请求 //#给验证码刷新 $(".vialdCode_img").click(function () { 方式一:dom方法#} $(this)[0].src+="?"#} 方式二:jQuery的attr方法#} $(th 阅读全文
posted @ 2018-02-21 11:36
小河马的博客
阅读(2836)
评论(0)
推荐(1)
摘要:
一、Ajax准备知识:json 说起json,我们大家都了解,就是python中的json模块,那么json模块具体是什么呢?那我们现在详细的来说明一下 1、json(Javascript Obiect Notation,JS对象标记)是一种轻量级的数据交换格式。 它基于 ECMAScript (w 阅读全文
posted @ 2018-02-21 11:31
小河马的博客
阅读(187)
评论(0)
推荐(0)
摘要:
extra extra(select=None, where=None, params=None, tables=None, order_by=None, select_params=None) 有些情况下,Django的查询语法难以简单的表达复杂的 WHERE 子句,对于这种情况, Django 阅读全文
posted @ 2018-02-21 11:16
小河马的博客
阅读(462)
评论(0)
推荐(0)
摘要:
由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到 阅读全文
posted @ 2018-02-21 11:15
小河马的博客
阅读(170)
评论(0)
推荐(0)
摘要:
待补充………… 阅读全文
posted @ 2018-02-21 11:09
小河马的博客
阅读(78)
评论(0)
推荐(0)
摘要:
一、Form类 创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML; 1、Django内置字段如下: Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标 阅读全文
posted @ 2018-02-21 11:08
小河马的博客
阅读(160)
评论(0)
推荐(0)
摘要:
一、定义的规则 class TeacherForm(Form): #必须继承Form # 创建字段,本质上是正则表达式 username = fields.CharField( required=True, #必填字段 error_messages={"required":"用户名不能为空!!"}, 阅读全文
posted @ 2018-02-21 11:06
小河马的博客
阅读(165)
评论(0)
推荐(0)
摘要:
一、model常用操作 1、13个API查询:all,filter,get ,values,values_list,distinct,order_by ,reverse , exclude(排除),count,first,last,esits(判断是否存在) 需要掌握的all、values、valu 阅读全文
posted @ 2018-02-21 11:04
小河马的博客
阅读(188)
评论(0)
推荐(0)
摘要:
一、Form基本使用 类 字段 is_valid() cleaned_data errors 字段参数: max_length min_length validators = [RegexValidators("xxx")] 钩子函数 clean_字段名 注意: 必须有返回值 只能拿自己当前字段值 阅读全文
posted @ 2018-02-21 10:59
小河马的博客
阅读(700)
评论(0)
推荐(0)
摘要:
一、分页的实现与使用 class Pagination(object): """ 自定义分页 """ def __init__(self,current_page,total_count,base_url,params,per_page_count=10,max_pager_count=11): t 阅读全文
posted @ 2018-02-21 10:49
小河马的博客
阅读(160)
评论(0)
推荐(0)
摘要:
Django的分页器(paginator) view.py from django.shortcuts import render,HttpResponse # Create your views here. from app01.models import * from django.core.p 阅读全文
posted @ 2018-02-21 10:47
小河马的博客
阅读(474)
评论(0)
推荐(0)
摘要:
一、auth模块 from django.contrib import auth 1 、authenticate() :验证用户输入的用户名和密码是否相同 提供了用户认证,即验证用户名以及密码是否正确,一般需要username password两个关键字参数 如果认证信息有效,会返回一个 User 阅读全文
posted @ 2018-02-21 10:38
小河马的博客
阅读(1403)
评论(1)
推荐(0)
摘要:
models.Book.objects.filter(**kwargs): querySet [obj1,obj2]models.Book.objects.filter(**kwargs).values(*args) : querySet [{},{},{}]models.Book.objects. 阅读全文
posted @ 2018-02-21 10:36
小河马的博客
阅读(179)
评论(0)
推荐(0)
摘要:
一、多对多的正反向查询 class Class(models.Model): name = models.CharField(max_length=32,verbose_name="班级名") course = models.CharField(verbose_name="课程",max_lengt 阅读全文
posted @ 2018-02-21 10:33
小河马的博客
阅读(406)
评论(0)
推荐(0)
摘要:
一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many); 一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many)。 创建一对一的关系:OneToOne("要绑 阅读全文
posted @ 2018-02-21 10:31
小河马的博客
阅读(514)
评论(0)
推荐(0)
摘要:
一、添加表记录 对于单表有两种方式 # 添加数据的两种方式 # 方式一:实例化对象就是一条表记录 Frank_obj = models.Student(name ="海东",course="python",birth="2000-9-9",fenshu=80) Frank_obj.save() # 阅读全文
posted @ 2018-02-21 10:26
小河马的博客
阅读(228)
评论(0)
推荐(0)
摘要:
一、ORM介绍 映射关系: 表名 》类名 字段 》属性 表记录 》类实例化对象 ORM的两大功能: 操作表: - 创建表 - 修改表 - 删除表 操作数据行: - 增删改查 ORM利用pymysql第三方工具链接数据库 Django没办法帮我们创建数据库,只能我们创建完之后告诉它,让django去链 阅读全文
posted @ 2018-02-21 10:22
小河马的博客
阅读(157)
评论(0)
推荐(0)
摘要:
一、什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板。 二、模板语法分类 一、模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键是句点字符 .(也就是点) views.py def index(request): name = 阅读全文
posted @ 2018-02-21 10:17
小河马的博客
阅读(187)
评论(0)
推荐(0)
摘要:
一、知识点回顾 1、MTV模型 model:模型,和数据库相关的 template:模板,存放html文件,模板语法(目的是将变量如何巧妙的嵌入到HTML页面中)。 views:视图函数 另加urls:url路径与视图函数的映射关系,,可以不是一一对应的。 2、相关的一些命令 创建一个Django项 阅读全文
posted @ 2018-02-21 10:14
小河马的博客
阅读(603)
评论(0)
推荐(0)
摘要:
一个小问题: 什么是根目录:就是没有路径,只有域名、。url(r'^$') 补充一张关于wsgiref模块的图片 一、MTV模型 Django的MTV分别代表: Model(模型):和数据库相关的,负责业务对象与数据库的对象(ORM) Template(模板):放所有的html文件 模板语法:目的是 阅读全文
posted @ 2018-02-21 10:09
小河马的博客
阅读(213)
评论(0)
推荐(0)
摘要:
一、cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。 cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上co 阅读全文
posted @ 2018-02-21 09:55
小河马的博客
阅读(1006)
评论(0)
推荐(0)
摘要:
http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 阅读全文
posted @ 2018-02-21 09:24
小河马的博客
阅读(237)
评论(0)
推荐(0)
摘要:
当你在浏览器地址栏敲入“http://www.cnblogs.com/”,然后猛按回车,呈现在你面前的,将是博客园的首页了(这真是废话,你会认为这是理所当然的)。作为一个开发者,尤其是web开发人员,我想你有必要去了解这一系列的处理流程,在这期间,浏览器和服务器到底是如何打交道的?服务器又是如何处理 阅读全文
posted @ 2018-02-21 09:22
小河马的博客
阅读(601)
评论(0)
推荐(0)

浙公网安备 33010602011771号