没有文档,对于新手或者工作交接,是一件非常麻烦的事情,也不利于程序的传承。 那么,有没有这样一种程序,根据 api 函数的规范注释,及 api 的功能自动生成 api 的文档呢?...比如我最近学习的 django rest framework 框架就可以自动生成 api 文档,有了这个功能,领导再也不用担心没有接口文档了。...使用 request.query_params 中可以获取 name,phone 等参数,request.query_params 返回的数据类型为 QueryDict,QueryDict 转为普通 python...这样,无论是 post ,还是 get ,我们可以编写统一的 参数获取函数,如下所示: from django.http import QueryDict from rest_framework.request...自定义的api 未发现参数框 我们发现自定义的 api 没有对应的参数可以填写,这真让人郁闷。
反序列化: 前端或其他平台传入数据到后台,比如是json格式字符串,后端需要存入数据库,需要转换成python中的对象,然后处理存入数据库; 总结: python对象 -----》json格式字符串..._allowed_methods()) getattr(obj,pro,None):按pro判断是否有无obj.pro属性,没有返回None,None可以自定制 反射忘记的可以看俺的这篇博客:python...import QueryDict 注意:如果前端提交过来多个同名数据也就是form表单中input标签的name属性设置了多个重名数据就不能使用request.POST.get('user')来获取了...,这样只能获取到一个,需要使用getlist来获取,取出全部 官网的一些解释 原来的django中没有request.data,造一个!...# 原来的django的request对象中没有data,使得request.data-->无论什么编码格式,post提交数据,data都有值 from django.views import View
视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。 属性 下面除非特别说明,属性都是只读的。...这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值。 GET:QueryDict类型对象,类似于字典,包含get请求方式的所有参数。...QueryDict对象 定义在django.http.QueryDict HttpRequest对象的属性GET、POST都是QueryDict类型的对象 与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况...,POST属性是一个QueryDict类型的对象。...答:表单控件name属性的值作为键,value属性的值为值,构成键值对提交。 如果表单控件没有name属性则不提交。
QueryDict (1). QueryDict.get(key, [default]) (2). QueryDict.getlist(key, [default]) 3. 查询字符串 4....QueryDict 在django的 HttpRequest 对象中,属性 GET 和 POST 得到的都是 django.http.QueryDict 所创建的实例,这是django自定义的一个类似字典的类...在Python的字典中,一个键只能有一个值,当一个键赋值多次的时候,只会保留最后一个值。而在 HttpRequest 对象中,一个键往往有多个值。...QueryDict.getlist(key, [default]) QueryDict.getlist(key, [default]) 返回 key 的值。...context = "name=%s,age=%s" % (name, age) return HttpResponse(context) 响应结果 name=xuanli,age=18 python3.6
Django框架的介绍 起源&现状 2005年发布,采用Python语言编写的开源web框架 早期的时候Django主做新闻和内容管理的 一个重量级的 Python Web框架,Django...==2.2.12 离线安装 下载安装包: 安装离线包 $ tar -xvf Django-2.2.12.tar.gz $ cd Django-2.2.12 $ sudo python3 setup.py...python3 manage.py runserve # 或 $ python3 manage.py runserver 5000 # 指定只能本机使用127.0.0.1的5000端口访问本机 Django...menuId=657421&version=AID201908#subject 说明: protocol(协议) http 通过 HTTP 访问该资源。...path_info: URL字符串 method:字符串,表示HTTP请求方法,常用值:‘GET’、‘POST’ GET:QueryDict查询字典的对象,包含查询字符串的所有数据 POST:QueryDict
', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', '...manage.py runserver 0:8000 HttpRequest对象 是在django.http这个模块中 是有django创建 官方文档docs 常用的属性: request.body...In [1]: from django.http import QueryDict...Out[2]: QueryDict: {'aa': ['bb'], 'cc': ['dd', 'xxx']}> In [3]: q = QueryDict('aa=bb&cc=dd&cc=xxx')...devops]$ python3 manage.py showmigrations (venv3) [vagrant@localhost devops]$ python3 manage.py makemigrations
Django程序流程 - 命令行下启动Django 1. django-admin startproject 项目名 2. cd 项目名 3. python...- is_ajax(): 如果请求是通过XMLHTTPRequest发起的,则返回True - QueryDict对象 - 定义的django.http.QueryDict...- request对象的属性GET,POST都是QueryDict类型的对象 - 于Python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况...- QueryDict类型的对象 - 包含post请求方式的所有参数 - 与form表单中的控件对应 - 表单中控件必须有name属性,...在命令行中,输入数据迁移的指令 python manage.py migrate # 如果迁移中出现没有变化或者报错,可以尝试强制迁移
QueryDict 在HttpRequest对象中,GET和POST属性是django.http的实例。QueryDict类。 QueryDict是一个用户定义的类,类似于字典。...QueryDict实现所有标准字典方法。...代码可以在任何地方编写,只要它在Python目录中,通常在项目视图Py文件中。 每个视图函数负责返回一个HttpResponse对象,该对象包含生成的响应。...字段属性定义要显示的字段。 因为这个类对应于Contact数据模型,所以我们需要在注册时一起注册它们。...3.4,因此如果您使用更高版本的Python,则需要按如下方式进行修改: 通过错误消息Py文件的文件路径,在…site packages django-2.0-py3.6.eggDjango-db-backends-mysql
HttpReqeust对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象 视图函数的第一个参数是HttpRequest对象 在django.http模块中定义了HttpRequest...GET:一个类似于字典的对象,包含get请求方式的所有参数 POST:一个类似于字典的对象,包含post请求方式的所有参数 FILES:一个类似于字典的对象,包含所有的上传文件 COOKIES:一个标准的Python...():如果请求是通过XMLHttpRequest发起的,则返回True QueryDict对象 定义在django.http.QueryDict request对象的属性GET、POST都是QueryDict...类型的对象 与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况 方法get():根据键获取值 只能获取键的一个值 如果一个键同时拥有多个值,获取最后一个值 dict.get...答:控件要有name属性,则name属性的值为键,value属性的值为键,构成键值对提交 对于checkbox控件,name属性一样为一组,当控件被选中后会被提交,存在一键多值的情况 键是开发人员定下来的
COOKIES:一个标准的 Python 字典,包含所有的 cookie,键和值都为字符串。...QueryDict 对象 request 对象的属性 GET、POST 都是 QueryDict 类型的对象。...与 python 字典不同,QueryDict 类型的对象用来处理同一个键带有多个值的情况。...GET 属性 QueryDict 类型的对象; 包含 get 请求方式的所有参数; 与 url 请求地址中的参数对应,位于 ?...POST 属性 QueryDict 类型的对象; 包含 post 请求方式的所有参数; 与 form 表单中的控件对应; 表单中控件要有 name 属性,则 name 属性的值为键,value 属性的值为键
Django入门 项目创建和APP创建 准备环境 python3 virtualenv pip3 pip3 install django==1.1 项目创建,APP创建 django-admin startproject...HttpRequest对象 由Django创建 属性如下: HttpRequest.scheme HttpRequest.body HttpRequest.path HttpRequest.method...POST和GET请求 GET请求与传参 - method - GET POST提交数据 QueryDict对象 方法练习 # python manage.py shell >>> from django.http...django-shell创建用户 # 方式一: (venv3) [wanghui@www ops]$ python manage.py shell Python 3.6.1 (default, Jun...from django.http import HttpResponse,JsonResponse,QueryDict from django.template import loader,Context
中间件设置的属性 Django 的 contrib 应用中包含的一些中间件会在请求中设置属性。...QueryDict对象 在一个 HttpRequest 对象中, GET 和 POST 属性是 django.http.QueryDict 的实例,这是一个类似字典的类,用来处理同一个键的多个值。...'Content-Disposition': 'attachment; filename="foo.xls"', ... }) Content-Disposition 头并没有什么 Django 特有的内容...如果在 HttpResponse 实例化时没有给出,将从 content_type 中提取,如果不成功,将使用 DEFAULT_CHARSET(如果没有设置,默认为utf-8)设置。...参数与 Python 标准库中的 Morsel cookie 对象相同。
(): 如果请求是通过XMLHttpResponse发起的,则返回True QueryDict对象 定义在django.http.QueryDict request对象的属性GET、POST都是QueryDict...类型的对象 与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况 方法get(): 根据键获取值 只能获取键的一个值 如果一个键同时拥有多个值,获取最后一个值 方法getlist...(): 根据键获取值 将键的值以列表返回,可以获取一个键的多个值 GET属性 QueryDict类型的对象def v12_get(request): rst = "" for k,v in...QueryDict类型的对象 包含post请求方式的所有参数 与form表单中的控件对应 表单中控件必须有name属性, name为键, value为值 checkbbox存在一键多值的问题 键是开发人员定下来的...核心是允许使用不同的实例方法来相应不同的HTTP请求方法,而避开条件分支实现 as_view函数昨晚类的可调用入库,该方法创建一个实例并调用dispatch方法,按照请求方法对请求进行分发,如果该 方法没有定义
from django.http.request import QueryDict ?...在一个 HttpRequest 对象中, GET 和 POST 属性都是 django.http.QueryDict 的实例。QueryDict 是一个类似于字典的类,专门用来处理用一个键的多值。...import QueryDict >>> QueryDict('a=live&a=life&b=happy') QueryDict: {u'a': [u'live', u'life'], u'b'...: [u'happy']}> 如果 query_string 没有传入,则获得一个空的对象。...如果 encoding = None,也就是没有设定的话,将使用 DEFAULT_CHARSET 的值,默认为:utf-8。 ? ?
python manage.py inspectdb > polls/models.py 在polls/models.py中生成如下代码,我们可以修改实体类, from django.db import...python manage.py shell 1.新增 from polls.models import Subject,Teacher subject1 = Subject(name='Python...# 查询名称为“Python全栈+人工智能”的学科 Subject.objects.filter(name='Python全栈+人工智能') # Subject: Subject...“一”的一方查询“多”的一方),反向查询属性默认的名字是类名小写_set(如上面例子中的teacher_set),当然也可以在创建模型时通过ForeingKey的related_name属性指定反向查询属性的名字...运行测试 python manage.py runserver 总结 本文主要是Django系列博客。本文是Django模型层models的使用过程。
Django中的QueryDict对象 定义在django.http.QueryDict HttpRequest对象的属性GET、...POST都是QueryDict类型的对象与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况 方法get():根据键获取值...k1=v1&k2=v2),可以通过request.GET属性获取, 返回QueryDict对象 # /qs/?...请求体 表单类型 Form Data 前端发送的表单类型的请求体数据,可以通过request.POST属性获取,返回QueryDict...__一模型类属性名__条件运算符=值 # 注意:如果没有"__运算符"部分,表示等于 # 查询书名为天龙八部中的所欲英雄 print(HeroInfo.objects.filter
Django的View(视图)简介 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。...属性: django将请求报文中的请求行、头部信息、内容主体封装成 HttpRequest 类中的属性。 除了特殊说明的之外,其他均为只读的。...详情请参考 QueryDict 对象。 6.HttpRequest.POST 一个类似于字典的对象,如果请求中包含表单数据,则将这些数据封装成 QueryDict 对象。 ...POST 请求可以带有空的 POST 字典 —— 如果通过 HTTP POST 方法发送一个表单,但是表单中没有任何的数据,QueryDict 对象依然会被创建。...如果用户当前没有登录,user 将设置为 django.contrib.auth.models.AnonymousUser 的一个实例。
此错误可以参考 django 中文文档 其实就是在 request.Post/Get 时,提取的 Key 不存在导致的 QueryDict....__getitem__ (*key*)[¶](http://python.usyiyi.cn/documents/django_182/ref/request-response.html#django.http.QueryDict...如果key 不存在,则引发django.utils.datastructures.MultiValueDictKeyError 。...(它是Python 标准KeyError 的一个子类,所以你仍然可以坚持捕获KeyError 。) ?...image.png 解决方法: QueryDict. get (*key*, *default*) 使用与上面__getitem__() 相同的逻辑,但是当key 不存在时返回一个默认值。
文章目录 一、HttpRequest对象 1.URL路径参数 2.位置参数 3.关键字参数 二、Django中的QueryDict对象 1.查询字符串Query String 2.请求体 3.表单类型...中的QueryDict对象 HttpRequest对象的属性GET、POST都是QueryDict类型的对象 与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况 方法...k1=v1&k2=v2),可以通过request.GET属性获取,返回QueryDict对象。 # /get/?...前端发送的表单类型的请求体数据,可以通过request.POST属性获取,返回QueryDict对象。...import json def post_json(request): json_str = request.body json_str = json_str.decode() # python3.6
拿到前端传递的参数 put_data = QueryDict(request.body) # 3....>>> QueryDict('a=1&a=2&c=3') QueryDict: {'a': ['1', '2'], 'c': ['3']}> 一般我们看到的数据就是json的键值对,而不是列表 request.body...shell 调试 在model中,Django通过给Model增加一个objects属性来提供数据操作大的接口。...,不拿author字段 app.object的用法 filter() 过滤查询对象。...这样就可以引用模型字段值并使用它们执行数据库操作,而无需实际将它们从数据库中拉出到Python内存中 说白了就是我从数据库拿东西,但是有些需要的字段没有,要通过绑定的外键的app的model拿。