首页>>后端>>Python->表单如何post到django服务器(django接受post数据)

表单如何post到django服务器(django接受post数据)

时间:2023-12-02 本站 点击:0

本篇文章首席CTO笔记来给大家介绍有关表单如何post到django服务器以及django接受post数据的相关内容,希望对大家有所帮助,一起来看看吧。

本文目录一览:

1、如何在Django使用ajax的POST2、表单向服务器发送http请求通常有哪两种办法3、Django使用POST和GET方法4、Django请求与响应(request)与(response)

如何在Django使用ajax的POST

post方式不同于get方式可以被django直接得到,因为django为post加入了csrf保护, 详细的文档地址

注释:在最新版本中,在setting.py里'django.middleware.csrf.CsrfViewMiddleware',默认是使用中的,如果没有请自行添加,并且确保此引用在其他所有viewware前面

MIDDLEWARE_CLASSES = (

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',//this line is vsrf

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django_cas.middleware.CASMiddleware',

'django.contrib.auth.middleware.SessionAuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

)

如果想避过csrf检测这一层直接使用post的话,有几种方法:

1 需要在views.py里要出发post请求的函数前加入@csrf_exempt ,之前要引入from django.views.decorators.csrf import csrf_exempt

2 在 settings.py 中 MIDDLEWARE_CLASSES 中 注释掉'django.middleware.csrf.CsrfViewMiddleware'

说下正确使用csrf的方法 :

对于ajax.post方法,需要在ajax方法触发前加入一段js,这段我理解是用来生成不同的token,但是很好奇如果禁掉了co

表单向服务器发送http请求通常有哪两种办法

表单向服务器发送http请求通常有这Get和Post两种办法。将表单数据发送给服务器的常用方式有两种:Get和Post。浏览器发送给服务器的HTTP请求分为:请求头(header)和请求主体(body)两部分。其中,必须包含头部分,用于指定发送请求的方式、目的地以及其他关键信息;而主体是可选的。在头数据和主体数据之间用一个空白行来隔开。

Get和Post区别

GET和POST的主要区别是数据以何种方式发送到服务器。GET将表单域名和值作为键/值对追加到URL末尾。URL中。后面的数据是可见的。POST也会发送数据,同样通过一个关联数据发送,但是编码方式不同,另外URL中的数据对最终用户不可见。

Django使用POST和GET方法

2.在Views中定义方面

遇到一个问题,在login.html 中

如果action 为空的话,应该是默认使用当前的,填写表单后,一段时间打印的print(request.method)

一直都是get请求,不知道为什么,然后我也不知道修改了什么,就得到了预期。

如果您也遇到这种情况,请告诉我,谢谢!~

Django请求与响应(request)与(response)

服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模块中定义了HttpRequest对象的API

form标签中的‘GET’和‘POST’

在HTML中,form表单的作用是收集标签中的内容,form.../form 中间可以由访问者添加类似于文本,选择,或者一些控制模块等等.然后这些内容将会被送到服务端。

一个表单必须指定两样东西:

form表单使用get方式提交的例子:

可以看见在地址栏会显示参数。

form表单使用post方式提交的例子:

一键多值的getlist方法:

request对象的属性GET、POST都是QueryDict类型的对象

与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况

GET属性:

View类视图以请求方式为类方法.

在对应的方式下面编写对应的逻辑函数.

就是将视图中的方法以类的方式书写逻辑。

View类视图的引用.

在url.py中配置路由是通过: as_view()

Django在处理文件上传的时候,文件数据被保存在了request.FILES,FILES中的每个键为input type="file" name="" /中的name

设置文件的存储路径:

1.在项目根目录下static中创建media文件夹

2.图片上传后,会被保存到“/static/media/文件”

3.打开settings.py文件,增加media_root项

FILES只有在请求的方法为POST 且提交的form带有enctype="multipart/form-data" 的情况下才会包含数据。否则,FILES 将为一个空的类似于字典的对象

文件上传视图函数:

HttpResponse对象:

HttpResponse的子类:

返回数据的响应函数有:

HttpResponse() 返回简单的字符串对象

render() 渲染模板

redirect() 重定向

JsonResponse() 返回json数据

HTTP协议:

HTTP(超文本传输协议)是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。

客户端和服务器都是怎么记录登录的状态的呢?

浏览器中的----cookie:(请自行查找)

注意:设置cookie值以及删除cookie值都是response对象的操作,而获取cookie是从requeset相应中获得的.

虽然cookie可以保存状态,但注意不要存储敏感信息.

结语:以上就是首席CTO笔记为大家整理的关于表单如何post到django服务器的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django接受post数据、表单如何post到django服务器的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/10135.html