首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django(三):HttpReques

当一个请求连接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关信息,并且会根据请求路由载入匹配视图函数。...获取处理后key和value,也可以通过HttpRequest.read()格式化 HttpRequest.path 返回请求完整路径,不包括协议和域名 HttpRequest.GET GET请求参数...返回请求处理url及相关参数 HttpRequest.session 中间件,设置session,一个可读可写字典对象 HttpRequest.get_host() 获取请求主机和端口 HttpRequest.get_port...使用httpie测试: # GET请求带参数 http http://127.0.0.1:8000/page/ -- name=Jan # PSOT请求 http -f POST 127.0.0.1:8000...它用“&”分割字符传,用“=”生成键值对,从而将一个类似GET请求参数字符串解析成一个类似字典对象。

60530
您找到你想要的搜索结果了吗?
是的
没有找到

网站功能——添加文章编辑页面,支持 markdown 编辑器实时预览编辑

首先应该创建两个请求接口:一个 GET 请求用来展示编辑页面,可以直接参考文章页面的类视图实现,这里需要进行权限控制,只有文章作者和管可以打开页面;另一个是 POST 请求接口,用来更新文章 body...效果如下: 创建更新文章视图及url 更新文章要使用 POST 请求,打算使用前端 ajax 来请求,所以视图是这样: @require_http_methods(["POST"]) def update_article...article_slug = request.POST.get('article_slug') article_body = request.POST.get('article_body...,第一个参数是所有 django 请求都应该带上 csrf 验证,这个不清楚可以去查一下相关作用,第二个参数是更新接口地址,第三个参数是文章 slug 字段,这个字段是唯一,所以可以用来确定文章...总结 本篇文章主要分享了创建一个文章内容编辑页面的过程,主要使用到了 Django 类视图、权限判断、POST 请求视图、ajax 请求、实例更新等 Django 相关知识点。

31510

django 入门:通用视图类重构视图

:视图及模版》 《django入门:Admin管理系统及表单》 终于到最后一部分了,这部分我们将通过 django 自带通用视图类替换之前写视图函数,对视图进行重构 2 利用 django 通用视图类创建类视图..., DetailView from django.shortcuts import get_object_or_404 from blog.models import Post # 获取相应模型下全部数据...从 url 捕获命名组参数值保存在实例 kwargs 中,是一个字典 # 非命名组参数值保存在实例 args 中,是一个列表 category = get_object_or...优化分页列表 最后我们列下 Paginator 常用属性结束 django 入门教程,接下来会有 DRF 入门教程,django 算是其基础吧,DRF 实现了前后端分离,刚好适合这种 Android...'j', 'k', 'l', 'm', 'n'] # 指定 paginator 列表以及每页显示列表数量 p = Paginator(item_list, 2) print(p.count) #

87120

Django+Vue项目学习第五篇:vue+django发送post请求,解决csrf认证问题

本篇介绍如何在vue端向django发送post请求,以及django处理post请求方式 这次要实现功能是:点击【身份证ID】生成指定数量身份证号 1....(如果是application/x-www-form-urlencoded格式数据,必须要做这个处理,不然django会获取不到请求body中参数) 2....请求,如果请求头Content-type=application/x-www-form-urlencoded,可以使用request.POST.get("num"),获取请求携带参数 ok,到这里先试一下看看有没有正常得到响应...,在网上冲浪了很久很久,终于找到了2个解决方法 解决django-csrf认证-方法1 最简单方式就是关闭这个验证,把相关配置注释掉,即可跳过认证,自由发送post请求(如果是自己学习的话,可以采用这个方式......... } 也试了一下,发现不好用,还是得在顶部配置:axios.defaults.withCredentials = true 按照上述方法成功解决了Djangocsrf验证问题

3.6K20

DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

2.6 过滤信息(filtering,或称查询参数)       如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。       下面是一些常见参数。 ?...animal_type_id=1:指定筛选条件       参数设计允许存在冗余,即允许API路径和URL参数偶尔有重复。比如,GET /zoo/ID/animals 与 GET /animals?...403 Forbidden:用户通过了身份验证,但是不具有访问资源所需权限。 404 Not Found:所请求资源不存在,或不可用。...,即使发生错误,也返回200状态码,把错误信息放在数据体里面,就像下面这样。...('POST')   源码看着比较复杂,这里就不列举了,反正你要知道是,我们解析器查找使用顺序是:     自己写类里面的parser_classes = [JSONParser,]---->

2.5K20

django写接口(实战篇)

view,那这部分我们继续深入了解下 DRF 分页,多条件筛选以及 Token 权限认证 接口数据分页 如果说,后台给你返回数据很多很多,然后又没有做分页(反正是碰到过),然后就一直卡在加载界面...1.设置全局分页参数 我们可以在 project 下 settings.py 文件中加入 REST_FRAMEWORK 字典,设置全局分页参数 REST_FRAMEWORK = { # 配置全局分页类型和每页数量...Pagination 类 pagination_class = StandardPagination 为了方便查看,把每页设置一条参数,结果页面如下 ?...类来写 class PostFilter(django_filters.rest_framework.FilterSet): # 定义进行过滤参数,CharFilter 是过滤参数类型,过滤器参数类型还有很多...http http://192.168.x.xxx:8080/api/posts/ 能够正常返回 post 列表 接着我们做 post 提交试试, 自行完善参数值,注意在 posts/ 后有个空格

2K20

Django学习-第十三讲(下):表单(一)forms.form、forms.modelform

还是POST请求来做相应操作。...如果是GET请求,那么返回一个空表单,如果是POST请求,那么将提交上来数据进行校验。...在使用POST请求时候,我们根据前端上传上来数据,构建一个新表单,这个表单是用来验证数据是否合法,如果数据都验证通过了,那么我们可以通过cleaned_data来获取相应数据。...2.2 django 表单常用验证器 在验证某个字段时候,可以传递一个validators参数用来指定验证器,进一步对数据进行过滤。...比如在注册表单验证中,我们想要验证手机号码是否已经被注册过了,那么这时候就需要在数据库中进行判断才知道。

3.1K40

体验Django REST framework,解读REST架构风格

如果有对REST架构风格还不了解,或者一知半解朋友,可以读读另一篇文章《那些年,我们一起误解过REST》。...,实现了getpost、put、delete等请求方法对应通用处理方法,直接继承可以极大地简化代码。...请求参数适用于放过滤条件、分页信息等内容。 2.2 连通性 在GET /请求响应中,包含了user资源和对应group资源URI。...反应到页面上,在GET /users资源时,页面可以提供如下页面来创建一个新user资源,而这一切都是因为约定了POST是创建操作,资源描述通过body传递,资源ID由服务器自动生成,新生成资源URI...[image.png] 2.4 资源表述 在《那些年,我们一起误解过REST》文中提到过,同一个资源可以有多个不同表述,每个表述需要是自描述

4.1K582

Django实战-添加应用

Django实战-应用列表 Django网络应用开发5项基础核心技术包括模型(Model)设计,URL 设计与配置,View(视图)编写,Template(模板)设计和Form(表单)使用...完成了小程序九宫格应用渲染,在用户登录后即可添加不同应用。在之前用户授权登录中,将 cookie 保存至 storage,这样就可以判定用户是否通过了服务端登录验证。 ?...一、服务端 from django.views import View ? ① 需要判断用户是否登录,再返回用户已经添加应用。...(request) # 接收用户添加应用请求参数 post_menu = json.loads(request.body.decode('utf-8')) post_menu...= post_menu.get("data") focus_menu = [] for item in post_menu: print(item) #

73510

Cookie-Form型CSRF防御机制不足与反思

接受POST数据时,先验证_POST['token'] === _SESSION['token'],再执行其他逻辑。 这是一个很标准CSRF防御方法,也很难找出其破绽。...弊端也很明显:一旦有其他漏洞(即使是看起来很鸡肋漏洞)存在,很容易就能破坏这种防御手法。 曾经分享过知乎一个漏洞《知乎某处XSS+刷粉详细漏洞技术分析》,很经典一个案例。...攻击者通过写入一个新"CSRF_TOKEN",将原有的无法获取Token覆盖掉,就成功绕过了0x02中描述防御手法。...Cookie出错,注入Cookie 第一种,很久以前在QQ空间不止一处看到过,某些页面从location.search中获取参数并设置为Cookie。...这次DjangoCookie注入也类似。

1.3K10

34c3 部分Web Writeup

flag=C3_1);} 完全payload就不专门写了,理解题目的思路比较重要。...整个题目的利用链非常精巧,服务端bot比我想象中要强大很多,有趣是,整个题目存在配置非预期,一度认为非预期解法是正解。...superblog 这道题目做起来没有urlstorage有趣,比赛途中思路也是卡在了如何执行想要js语句,因为符号限制,让很多Bypass CSP思路都断了,这里感谢@威蓝猫wp提到绕过思路...type参数可以指定json、jsonp返回类型,同时还接受cb参数,cb中有很多很多过滤,但是可以被绕过 <script src=’/feed?...req.user.username并不是通过django本身session设置,所以即使我们获取到settings中SECRET_KEY也没有意义,也就是说,我们只能通过bot获取flag。

1.6K100

django之路由分组,反向解析,有名

^test/([0-9]{4})/', views.test), 会将加了括号正则表达式匹配内容当做位置参数传递给后面的视图函数 具体操作如下: ?...伪静态 假装自己路径是一个静态(数据写死)文件路径,其实你 是经过了视图函数处理,动态渲染页面 提高百度收藏你这个网页力度,当别人搜索你这个页面相关内容 百度会优先展示你页面...区别(了解) 1.0里面的url对应django2.0里面re_path django2.0里面的path第一个是精准匹配(你怎么写,就怎么匹配) django1.0版本中匹配到参数都是字符串类型...第二个疑问: 为什么get请求就走get方法,post请求就走post方法 ?...request八种属性:   request.GET   request.POST   request.method   request.body     原始数据   request.path

1.6K10
领券