简书啥时候支持创建目录啊???
[TOC]
Django的参数传递问题
- 传统的传参方式url?name=value&id=XXX
- get请求
- request.GET['name']
- request.GET.get('id',None)
- request.GET.getlist('fav')
- POST请求
- request.POST['name']
- request.POST.get('id',None)
- request.POST.getlist('fav')
传统的传参方式
- 判断request请求的类型
request.method == 'GET'
或者request.method == 'PosT'
- 若请求为GET,获取每个属性的值
request.GET.get("属性名称")
或者request.POST.get("属性名称")
- 注:一定要在form表单中的每个input里面添加name值,不然无法获取属性值
- 如果修改数据,需要进行保存
RESTFUL传递参数
通过将参数包含在URL地址中作为地址的一部分出现,在一定程度上都能有非常好的参数混淆的作用,对于网站安全性的提升是非常友好的一种操作
Django也实现了RESTFUL风格发送参数是将参数包含在url地址中,所以参数的接收定义就会在路由中进行配置,参数的配置接收主要有两种方式
位置参数和关键字参数
在url.py中配置
#利用正则的分组,第一个括号表示第一个参数
url(r"^(\w+)/param1$",views.param1,name="param1),
#使用命名参数(关键字参数)
url(r"^(?P<username>\d+)/param2$",views.param2,name="param2"),
视图函数views.py
# url(r"^(\w+)/param1",views.param1,name="param1"),
# 第一个参数就是正则分组的参数
def param1(request,name):
print("前端传输的 name:", name)
return HttpResponse("这个是使用位置参数方式")
# 这个是使用命名参数
#url(r"^(?P<username>\d+)/param2",views.param2,name="param2")
def param2(request,username)
print("前端传输的 username:", username)
return HttpResponse("这个是使用命名参数方式")
网友评论