为了账号安全,请及时绑定邮箱和手机立即绑定

请问在python django views request多传递个参数?

/ 猿问

请问在python django views request多传递个参数?

潇潇雨雨 2019-08-20 19:14:29

python django views request多传递个参数


查看完整描述

3 回答

?
莫回无

可以的:

url中需要相应定义:

例一:

1

2

3

4

5

6

7

8

9

10

11

urls.py

 

urlpatterns = [

url(r'^add/(\d+)/(\d+)$', views.add, ),

    ]

     

views.py

 

def add(request,a,b):

    c=int(a)+int(b)

    return HttpResponse(str(c))

例二:

1

2

3

4

5

6

7

8

9

10

11

12

urls.py

 

urlpatterns = [

url(r'^add3/(?P<username>\w+)/(?P<user_id>\d+)/', views.add3, name="add3"),

]

 

此处username,user_id,在views对应的函数里,参数命名时必须 与url中的命名一致

 

view.py

 

def add3(request,username,user_id):

    return HttpResponse("username:" + username + ",user_id:" + user_id)


查看完整回答
反对 回复 2019-08-24
?
开满天机

query = request.GET.get('q', '')

寻找名为 q 的GET参数,而且如果参数没有提交,返回一个空的字符串。

注意在 request.GET 中使用了 get() 方法,这可能让大家不好理解。这里的 get() 是每个python的的字典数据类型都有的方法。使用的时候要小心:假设 request.GET 包含一个 'q' 的key是不安全的,所以我们使用 get('q', '') 提供一个缺省的返回值'' (一个空字符串)。如果只是使用 request.GET['q'] 访问变量,在Get数据时 q 不可得,可能引发 KeyError .

查看完整回答
反对 回复 2019-08-24
?
狐的传说
不管是get请求,还是post请求,都可以用request.REQUEST.get('username','xxx')
如果是get请求,username就是请求url后面带的参数,比如:。
如果是post请求,那么form表单里需要有一个name=“username” ,例如:<input type="text" name="username" value="tom" /> 

这样的话,request.REQUEST.get('username','xxx')  就能得到username的值:tom 。
假如get请求后面没有带?username=tom ,post请求的表单里没有name='username'的元素,那么在后台request.REQUEST.get('username','xxx') 得不到值,就会用 xxx 来作为默认值。


查看完整回答
反对 回复 2019-08-24

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信