在函数中必须写一个request的参数,然后必须要有返回值,中间的逻辑随便,整个函数写在哪里也无所谓,只要python目录下就行,但我们默认规定,视图函数一般都写在每个应用下面views.py文件里。...这个属性是可写的,你可以修改它来修改访问表单数据使用的编码。 接下来对属性的任何访问(例如从 GET 或 POST 中读取数据)将使用新的 encoding 值。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH...A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。
127.0.0.1的本机信息,而不是真实客户端的信息。...HttpResponse对象用法 典型的用法是将页面的内容以字符串、字节字符串或 memoryview 的形式传递给 HttpResponse 构造函数。...传入迭代器 你可以传递 HttpResponse 一个迭代器而不是字符串。HttpResponse 将立即消耗迭代器,将其内容存储为一个字符串,然后丢弃它。...这种操作在普通场景下没什么问题,但是如果文件或者图片很多,并且很大,通常我们使用一个独立的静态文件服务器来解决问题,而不是由Django来处理这些东西 ** 告诉浏览器将响应作为文件附件处理 ** >>...如果 safe 为 True,而第一个参数是一个非 dict 对象,则会引发一个 TypeError。
1.HttpRequest.GET 一个类似于字典的对象,包含HTTP GET的所有参数,详情参考QueryDict对象 2.HttpRequest.POST 一个类似于字典的对象,如果请求中包含表单数据...,表示请求的路径组件(不含域名) 例如:'/study/book/addbook' 5.HttpRequest.method 一个字符串,表示请求使用的HTTP方法,必须使用大写...REQUEST_METHOD —— 一个字符串,例如"GET" 或"POST"。 SERVER_NAME —— 服务器的主机名。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH
视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。 属性 下面除非特别说明,属性都是只读的。...path:一个字符串,表示请求的页面的完整路径,不包含域名和参数部分。 method:一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'、'POST'。...这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值。 GET:QueryDict类型对象,类似于字典,包含get请求方式的所有参数。...使用form表单请求时,method方式为post则会发起post方式的请求,需要使用HttpRequest对象的POST属性接收参数,POST属性是一个QueryDict类型的对象。...键是表单控件name属性的值,是由开发人员编写的。 值是用户填写或选择的。
格式 HTTPS:// file 资源是本地计算机上的文件。格式: file:/// … hostname(主机名) 是指存放资源的服务器的域名系统 (DNS) 主机名、域名 或 IP 地址。...path(路由地址) 由零或多个 “/” 符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。..."匹配 /v1/users/guoxiaonao int 匹配0或任何正整数。...返回一个 int “page/int:page>” 匹配 /page/100 slug 匹配任意由 ASCII 字母或数字以及连字符和下划线组成的短标签 “detail/” 匹配 /...对象 HttpRequest属性 path_info: URL字符串 method:字符串,表示HTTP请求方法,常用值:‘GET’、‘POST’ GET:QueryDict查询字典的对象,包含查询字符串的所有数据
P\d+)$', views.index)设置了关键字参数后,视图中参数名必须和正则表达式组名一致。...视图的第一个参数必须是HttpRequest对象(一般定义视图时,参数写request),在django.http模块中定义了HttpRequest对象的API。...属性 path:字符串,表示请求的页面的完整路径,不包含域名和参数部分。 method:字符串,表示请求使用的HTTP方法,常用值包括:’GET’、’POST’。...这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值。 GET:QueryDict类型对象,类似于字典,包含get请求方式的所有参数。...QueryDict对象 HttpRequest对象的GET和POST属性都是QueryDict类型的对象,该类型定义在django.http.QueryDict中。
序列化: 在Django中获取到的数据默认是模型对象(QuerySet对象),但是模型对象数据无法直接提供给前端或别的平台使用,我们需要把数据进行序列化,变成字符串或json数据提供给前端或其他平台;...反序列化: 前端或其他平台传入数据到后台,比如是json格式字符串,后端需要存入数据库,需要转换成python中的对象,然后处理存入数据库; 总结: python对象 -----》json格式字符串...,成字符串了!!!...View,是APIview所以执行的dispatch是APIView中的dispatch方法 5、dispatch方法中包装了新的Request对象,以后视图类中的方法传入的request都是新的,无论三大认证还是视图函数的方法...__getattribute__(attr) 重写getattr的结果是,新的request.method执行的时候本质是request.
拿到前端传递的参数 put_data = QueryDict(request.body) # 3....>>> QueryDict('a=1&a=2&c=3') QueryDict: {'a': ['1', '2'], 'c': ['3']}> 一般我们看到的数据就是json的键值对,而不是列表 request.body...Manager定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manager为父类,定义自己的manager,增加表级方法; QuerySet:Manager类的一些方法会返回...QuerySet实例 就是从数据库根据自己要求拿数据的 连数据都那不出来,写啥视图 所以在编写queryset必须用django shell 调试 在model中,Django通过给Model增加一个objects...() 反向排序 distinct() 对查询集去重 values() 返回包含对象具体值的字典的QuerySet values_list() 与values()类似,只是返回的是元组而不是字典
''' 说明: 1、视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对象,通常名为request。...2、视图函数的返回值必须为一个响应对象,不能像Flask一样直接返回一个字符串,可以将要返回的字符串数据放到一个HTTPResponse对象中。...中定义路由时,通常以斜线/结尾,其好处是用户访问不以斜线/结尾的相同路径时,Django会把用户重定向到以斜线/结尾的路径上,而不会返回404不存在 。...中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。...= =比较运算符 and or not布尔运算符 注意:运算符左右两侧不能紧挨变量或常量,必须有空格 变量|过滤器:参数过滤器 safe,禁用转义,告诉模板这个变量是安全的,可以解释执行
- max_age是一个整数,表示在指定秒数后过期 - expires是一个datetime或timedelta对象,会话将在这个指定的日期/时间过期,...- 如果为None则表示使用浏览器的默认设置,一般为utf-8 - 这个属性是可写的,可以通过修改他来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding...- QueryDict对象 - 定义的django.http.QueryDict - request对象的属性GET,POST都是QueryDict类型的对象...,值是可变的 - POST属性 - QueryDict类型的对象 - 包含post请求方式的所有参数 - 与form表单中的控件对应...- 表单中控件必须有name属性,name为键,value为值 - CheckBox存在一键多值的问题 - 键是开发人员定下来的,值是可变的 - 手动编写视图
0.HttpRequest.scheme 表示请求方案的字符串(通常为http或https) 1.HttpRequest.body 一个字符串,代表请求报文的主体。...例如:"/music/bands/the_beatles/" 3.HttpRequest.method 一个字符串,表示请求使用的HTTP 方法。必须使用大写。 ...这个属性是可写的,你可以修改它来修改访问表单数据使用的编码。 接下来对属性的任何访问(例如从 GET 或 POST 中读取数据)将使用新的 encoding 值。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH
url(正则,'视图函数名称') 获取值 请求的url被看做是一个普通的python字符串,进行匹配时不包括域名、get或post参数。...内置错误视图 Django内置处理HTTP错误的视图,主要错误及视图包括: 404错误:page not found视图 500错误:server error视图 如果想看到错误视图而不是调试信息,需要修改项目的...视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。 属性 下面除非特别说明,属性都是只读的。...在Django中可以使用HttpRequest对象的GET属性获得get方方式请求的参数。 GET属性是一个QueryDict类型的对象,键和值都是字符串类型。...上去 四、HttpResponse对象 视图在接收请求并处理后,必须返回HttpResponse对象或子对象。在django.http模块中定义了HttpResponse对象的API。
例如:"/music/bands/the_beatles/" 3.HttpRequest.method 一个字符串,表示请求使用的HTTP 方法。必须使用大写。 ...这个属性是可写的,你可以修改它来修改访问表单数据使用的编码。 接下来对属性的任何访问(例如从 GET 或 POST 中读取数据)将使用新的 encoding 值。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...如果一个响应需要根据请求是否是通过AJAX 发起的,并且你正在使用某种形式的缓存例如Django 的 cache middleware, 你应该使用 vary_on_headers('HTTP_X_REQUESTED_WITH...def upload(request): """ 保存上传文件前,数据需要存放在某个位置。默认当上传文件小于2.5M时,django会将上传文件的全部内容读进内存。
HttpReqeust对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象 视图函数的第一个参数是HttpRequest对象 在django.http模块中定义了HttpRequest...' encoding:一个字符串,表示提交的数据的编码方式 如果为None则表示使用浏览器的默认设置,一般为utf-8 这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的...” 方法 is_ajax():如果请求是通过XMLHttpRequest发起的,则返回True QueryDict对象 定义在django.http.QueryDict request对象的属性GET、...('键',default) GET属性 QueryDict类型的对象 包含get请求方式的所有参数 与url请求地址中的参数对应,位于?...后面 参数的格式是键值对,如key1=value1 多个参数之间,使用&连接,如key1=value1&key2=value2 键是开发人员定下来的,值是可变的 示例如下 创建视图getTest1用于定义链接
当一个请求连接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关的信息,并且会根据请求路由载入匹配的视图函数。...,返回一个queryDict对象 HttpRequest.POST 获取表单提交的数据,如果是通过POST请求提交的其它非表单数据,可以使用HttpRequest.Body获取;使用时可以通过if request.method... queryDict类是python字典的子类,具有字典的所有方法,它放在django.http.QueryDict中。...它用“&”分割字符传,用“=”生成键值对,从而将一个类似GET请求参数的字符串解析成一个类似字典的对象。..., mutable=True) # print(query) # 根据键生成新的QueryDict query_new = QueryDict.fromkeys(query, value="这个大傻子
变量 的命名包括任何字母数字以及下划线 ("_")的组合(不提倡数字开头)。 变量名称中 不能有空格或标点符号。 点(.)在模板语言中有特殊的含义。当模版系统遇到点(".")...过滤器可以接受参数,例如:{{ sss|truncatewords:30 }},这将显示sss的前30个词。(参数只能是一个或者没有 过滤器参数包含空格的话,必须用引号包裹起来。...自定义filter 自定义过滤器只是带有一个或俩个参数Python函数: 变量(输入) 的值 不一定是一个字符串 参数的值 这可以有一个默认值,或完全省略 例如, 在过滤器{{var...这个属性是可写的,你可以修改它来修改访问表单数据使用的编码。 接下来对属性的任何访问(例如从 GET 或 POST 中读取数据)将使用新的 encoding 值。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。
大家好,又见面了,我是你们的朋友全栈君。...视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。 属性 下面除非特别说明,属性都是只读的。...path:一个字符串,表示请求的页面的完整路径,不包含域名和参数部分。 method:一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'、'POST'。...这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值。 GET:QueryDict类型对象,类似于字典,包含get请求方式的所有参数。...POST:QueryDict类型对象,类似于字典,包含post请求方式的所有参数。 FILES:一个类似于字典的对象,包含所有的上传文件。
max_age 是一个整数,表示在指定秒数后过期 expires 是一个datetime或timedelta对象,会话将在这个指定的日期/时间过期, max_age 与 expires 二选一 如果不指定过期时间...Request对象 Request介绍 服务器接收到http协议的请求后,会根据报文创建HttpResponse对象 视图函数的第一个参数是HttpResponse对象 在django.http 模块中定义了...: 'GET', 'POST' encoding: 一个字符串,表示提交的数据的编码方式 如果为None则表示使用浏览器的默认设置,一般为utf-8 这个属性是可写的,可以通过修改它来修改访问表单数据使用...后面 参数的格式是键值对,即key1 = value1 多个参数之间,使用&相连,如key1=value1&key2=value2 键是开发人员定下来的,值是可变的 案例/views/v12_get POST...属性 QueryDict类型的对象 包含post请求方式的所有参数 与form表单中的控件对应 表单中控件必须有name属性, name为键, value为值 checkbbox存在一键多值的问题 键是开发人员定下来的
('OK') Django的url是将一个请求分配给可调用的函数的,而不是一个class。...,因为name这个参数的值必须是个字符串,并且不能同时写两个方法) @method_decorator(login_test, name='post') post是给post方法加 class...这个属性是可写的,你可以修改它来修改访问表单数据使用的编码。 接下来对属性的任何访问(例如从 GET 或 POST 中读取数据)将使用新的 encoding 值。...is_anonymous() 返回True 而不是False。 is_authenticated() 返回False 而不是True。...A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。
领取专属 10元无门槛券
手把手带您无忧上云