Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查request.GET或request.POST是否来自URL的特定部分?_Python_Django_Post_Get - Fatal编程技术网

Python 如何检查request.GET或request.POST是否来自URL的特定部分?

Python 如何检查request.GET或request.POST是否来自URL的特定部分?,python,django,post,get,Python,Django,Post,Get,技术:Django 1.7.7,Python 3 currentUrl = request.get_full_path() if request.method == 'POST' and request.POST('/path/to/thing', currentUrl): # Do something 我试图检查request方法是否是POST,以及请求是否来自特定的URL,但不包括用户输入作为URL的一部分(如果有意义的话) 例如,假设一个用户正在填写表单,他/她提交了单词“hel

技术:Django 1.7.7,Python 3

currentUrl = request.get_full_path()
if request.method == 'POST' and request.POST('/path/to/thing', currentUrl):
    # Do something
我试图检查request方法是否是POST,以及请求是否来自特定的URL,但不包括用户输入作为URL的一部分(如果有意义的话)

例如,假设一个用户正在填写表单,他/她提交了单词“hello”。我想检查表单是否来自“some/base/url”,而不检查url中是否也有单词“hello”

实现这一目标的最佳方式是什么

我发现这是可行的:

  if request.method == 'GET' and '/path/to/thing' in request.path_info
HttpRequest.POST 包含所有给定HTTP POST参数的类似字典的对象, 假设请求包含表单数据

HttpRequest.POST
不是可使用的方法

如果您的表单有多个选项,例如您希望有一个提交按钮和一个带有添加另一个按钮的提交按钮,那么您需要为每个按钮指定一个名称,然后在POST参数中选中wither the name(是否删除该名称)

以防您害怕从未知地点提交表格。然后
csrf\u令牌
为您做这件事

CSRF中间件和模板标签提供易于使用的保护 防止跨站点请求伪造。这种类型的攻击发生在 恶意网站包含链接、表单按钮或某些javascript 其目的是使用 访问其帐户中的恶意站点的登录用户的凭据 浏览器一种相关类型的攻击,“登录CSRF”,其中 站点欺骗用户的浏览器,使其与某人一起登录站点 还包括else的凭据

阅读:


这是一个可能的解决方案吗?不管怎样,它对我也适用:如果request.method=='GET'和'/path/to/thing'在request.path\u信息中: