导读:今天首席CTO笔记来给各位分享关于layui如何提交django的post的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如何在Django使用ajax的POST
Django本身和ajax无关。
但是由于Django包含一套模板系统,你可以简单地将它理解为前端页面,在这些模板中,就像你作为一个前端工程师在html编写页面中,一样地使用ajax的POST方法。
Django可以在视图中,通过request.POST.get("xxx")的方法,接收ajax传过来的数据。
额外提醒,ajax的POST需要注意CSRF的安全问题,Django官方有现成的解决方案,到官方文档找到代码,贴到你的js中。
更多内容可以关注我的博客。
使用django开发一个比较简单的post接口
先把前置条件说一下
1.首先搭建好django环境 win+r 打开命令提示符 pip install django
3.然后创建一个自己的app
同样在命令提示符 进入刚创建的工程所在路径 输入 python manage.py startapp xxx(这个指你要创建的app名字),创新编辑器可以看到
4.正式开始开发一个post请求
首先设置好参数 在seetings.py文件里如图修改
views.py
最后在templates文件夹下创建一个html文件简单地写一下前端
我这里直接贴自己写的 login.html
code部分算是完成 看一下效果
还可以进入fiddler查看验证,为了比较好查到 我们先打开fiddler后输入用户名 密码后fiddler上 remove all session
可以得到这么一条数据包
username,password的值也和我们输入的一致
到此完成一个简单的post请求开发
django listview 怎么使用post方法
方法/步骤
一:编辑:forms.py
#coding=utf-8 #指定编码,要不文件中出现的中文会报编码错误,因我代码中出现了中文
from django import forms #从django中导入forms模块
class HostAddForm(forms.Form): #定义HostAddForm的类(forms.Form)是固定写法,照写就是了
ip = forms.IPAddressField(label='主机IP') #定义ip文本框,如效果图中的‘主机IP’,IPAddressField 是说明IP字段,与models.py上定义的一致,label='主机IP',是定义label标签,如以下效果图
port = forms.CharField(max_length=5,label='端口') #定义端口文本框,长度最大为5
要设置哪个字段为可不写,lamp兄弟连用required=False,如cpumun = forms.CharField(max_length=50,required=False,label='CPU核数')
二:编辑view.py
def hostadd(request): #定义hostadd
if request.method == "POST": #判断是否使用了POST方法
fr = HostAddForm(request.POST) #如果是使用了POST方法,即就绑定到fr变量,HostAddForm是forms.py上定义好的类字段,要一致
if fr.is_valid(): #判断表单上传进来的数据是否有效,如有效就执行下面的语句
print fr.cleaned_data['ip'] #这里是指可执行的代码,我这里仅仅是打印出这个IP地址而已,在写程序的时候,这里就可以替换成你要写的代码段了
return HttpResponse("OK") #执行完毕后,返回成功字样
else: #如果不是使用POST方法,那么执行以下代码段
fr = HostAddForm() #定义HostAddForm()给变量fr,其实这里是空值来的,
return render_to_response('hostadd.html',locals()) #最后把所有变量返回给模板hostadd.html,在hostadd.html上把这些表单显示出来
如果一个Form实体的数据是合法的,lampbrother它就会有一个可用的cleaned_data属性。 这是一个包含干净的提交数据的字典,我们要报取数据的时候,就用这个,如上面代码中的print fr.cleaned_data['ip']
三:编辑模块文件 hostadd.html
form action="" method="post"
{{ fr }}input type="submit" value="提交"
/form
{{ fr }}标签会把所有的表单内容都显示出来,而且是用我们在forms.py上定义好的label标签,我们也可以不这样设置,在hostadd.html上自定义显示吧,如下
form action="" method="post"
IP地址:{{ fr.ip }} /br
IP端口:{{ fr.port }}/br
input type="submit" value="提交"
/form
这里的fr.ip fr.port ,ip,port跟上面forms.py上的字段名是对应的
如果要检测ip文本提交的数据是否合法,lamp兄弟连可以用{{ fr.ip.errors }}来获取,如果不符合类型,会显示相应的提示:
4
四:编辑urls.py文件
(r'^hostadd.html$',hostadd),
效果:
5
提升:
给某个字段加上默认值,如我在IP字段上,写上默认为192.168.1.
from django import forms
class
求Django常用语法,接受get和post参数的方法
1、首先登录CentOS7系统,打开终端,进入python3虚拟环境,创建工程djbd,在工程中创建app,命令如下。
2、在工程的settings.py文件,添加app信息,并在allowed_host中添加本机ip。
3、在工程的urls.py文件include进app的urls.py,vi urls.pyurls.py文件如下。
4、在app中创建urls.py文件cd ../bookvi urls.py,并写代码如下。
5、然后运行django工程cd ..python manage.py runserver 192.168.128.25:8000 ,最后的ip就是填入allowed_host的本机ip,在8000端口上运行。
6、然后打开POSTMAN,可以是局域网中任意台电脑,请求方式为POST,网址和body传入参数如下图。
7、最后控制台打印出提交的参数something,就完成了。
结语:以上就是首席CTO笔记为大家介绍的关于layui如何提交django的post的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。