简介:今天,首席CTO指出要与您分享如何使用Django帖子。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
1. Django获得多个关键值来自帖子:
阿贾克斯:
var语言= {};
语言['英语'] = ['mark','james'];
语言['Spanish'] = ['Amy','John'];
$ .ajax({{{{{{
类型:'post',
URL:'/save/',,
数据:语言,
数据类型:'json'
});
django Views.py
如果request.is_ajax()和request.method =='post':
对于request.post中的键:
打印键
valuelist = request.post.getList(key)
印刷valluelist
-----------------------------------
Fidder:
名称=六月;年龄= 26;
-----------------------------------
Views.py
16
对于请求中的键。
request.post.getList(key)19印刷valuelist
----------------------------------------------------------------------------------------------------------------
发展
服务器正在退出服务器
控制-C。您的方法是帖子!姓名
[u'june']
年龄[U'26'] [04/APR/2012 10:58:11]“ post/getuin/http/1.1” 200 20 20 20
2.一次加载所有值:
def View_example(请求):
data = simplejson.loads(request.raw_post_data)
方法/步骤
1:编辑:forms.py
#coding = utf-8 #specified编码,如果中文出现在文档中,则代码编码会出现错误,因为中文出现在我的代码中
从django导入表单#import the from django的表单模块
类HostadDform(forms.form):#Define hostaddform(forms.form)的类是固定的写作方法,并编写了写作。
ip = forms.ipadddrssfield(label ='主机ip')#定义IP文本框,例如渲染图中的“主机IP”,iPaddressfield是一个IP字段,与compand.py的定义一致。标签='主机IP',定义标签标签,如下所示
port = forms.charfield(max_length = 5,label ='port')#define端口文本框,最大长度为5
要设置的哪个字段不编写,灯兄弟使用必需= false,例如cpumun = formss.charfield(max_length = 50,quirtect = false = false,label ='cpu core number'))
两个:edit view.py
def hostadd(请求):#define hostadd
如果request.method ==“ post”:#determine是否使用了帖子方法
fr = hostaddform(request.post)#如果使用邮政方法,则将其绑定到FR变量。hostaddform是forms.py上定义明确的字段。它必须保持一致。
如果FR.IS_VALID():#判断在表单上上传的数据是否有效,如果有效,请执行以下语句
打印fr.cleaned_data ['ip'] #here指的是可执行的代码。我只是打印此IP地址。编写程序时,您可以在此处替换为要编写的代码段。
返回httpresponse(“ ok”)#完成执行后,返回成功的单词
else:#如果您不使用邮政方法,则执行以下代码段
fr = hostaddform()#将hostaddform()定义为变量fr。实际上,这是空价值。
return render_to_response('hostaddd.html',局部())#finally返回所有变量返回模板hostadd.html,在hostadd.html上显示了这些表单,这些表单显示了这些表单。
如果形式实体的数据是合法的,则Lakebrother将具有可用的Clenet_data属性。该词典是包含干净数据的字典。当我们需要报告数据时,请使用此数据,就好像以上代码中的print fr.clenet_data ['ip']
3:编辑模块文件hostadd.html
形式action =“ method =“ post”
{{fr}}输入type =“ submit” value =“ submit”
/形式
{{fr}}标签将显示表单的所有内容,并使用我们在forms.py上定义的标签标签。没有这个,我们也可以设置它。如下所示,在hostadd.html上自定义显示器,如下所示
形式action =“ method =“ post”
IP地址:{fr.ip}} /br
IP端口:{fr。端口}}/br
输入类型=“提交”值=“提交”
/形式
fr.ip fr.port,ip,端口的名称对应于表格上的字段名称。
如果要检测IP文本提交的数据是否合法,则LAMP兄弟甚至可以使用{{fr.ip.errs}}获得。如果类型不符合该类型,则将显示相应的提示:
4
四:编辑urls.py文件
(r'^hostadd.html $',hostadd),
影响:
5
推动:
将默认值添加到一个字段中,例如在IP字段上,编写了默认sense 192.168.1。
从django导入表格
班级
因为Django有一个提交咨询的验证,所以就是这样。
导入模块
来自django.views.decocotors.csrf导入csrf_exempt
在功能前添加修饰符
@csrf_exempt
[python]查看普通副本
#如果客户提交的帖子不添加本节,将有403error
@csrf_exempt
DEF API_BLOGS(请求):
如果request.method =='post'和request.post ['page']:
int_page = int(request.post ['page'])
别的:
int_page = 1
blogs = dbblog.objects.order_by('-created_date')。全部 ()
page_size = 10
after_range_num = 5
tre_range_num = 6
Paginator = Paginator(博客,page_size)
尝试:
blogs = paginator.page(int_page)
除(emptypage,无效,pagenotaninteger):
博客= Paginator.page(1)
尝试:
return_json = serializers.serialize('json',blogs.object_list)
除了:
return_json = {
“状态”:1,
'msg''提取博客异常'
}
返回httpresponse(
return_json
治愈
:首先,在jQuery中使用$ .post()的需求可以轻松启动发布请求。有时,在Android程序中,您还必须从服务器中获取一些数据,并且必须使用POST请求2。需要在Android中使用的主要类使用POST请求。
2.视图中的定义
在login.html中遇到问题
如果操作是空的,则默认情况下应使用它。填写表格后,打印(request.Method)打印了一段时间
Get一直要求我,我不知道为什么,然后我也不知道该修改什么,所以我得到了期望。
如果您遇到这种情况,请告诉我,谢谢!?
查看有关CSRF的Django文档的示例。有阿贾克斯。您需要在cookie中添加csrftoken。当然,您也可以关闭CSRF。
结论:以上是有关Django首席CTO注释如何为所有人编写的Django帖子的相关内容答案。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?