大家好,欢迎来到IT知识分享网。
django request请求传参方式
回想一下,利用HTTP协议向服务器传参有几种途径?
1.提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取;
2.查询字符串(query string),形如?key1=value1&key2=value2;
3.请求体(body)中发送的数据,比如表单数据、json、xml;
4.在http报文的头(header)中。
1.URL路径参数传参
在定义路由URL时,可以使用正则表达式提取参数的方法从URL中获取请求参数,Django会将提取的参数直接传递到视图的传入参数中。
未命名参数按定义顺序传递, 如:
urls.py文件中 url(r'^weather/([a-z]+)/(\d{4})/$', views.weather), views.py文件中: def weather(request, city, year): print('city=%s' % city) print('year=%s' % year) return HttpResponse('OK')
路径中的第一个参数传入视图的第一个参数, 路径中的第二个参数传入视图的第二个参数…
命名参数按名字传递,如:
urls.py 文件中 url(r'^weather/(?P<city>[a-z]+)/(?P<year>\d{4})/$', views.weather), views.py文件中 def weather(request, year, city): print('city=%s' % city) print('year=%s' % year) return HttpResponse('OK')
路劲传参已经命名后, 在视图中形参的位置可以随意填写,类似于python的关键字传参形式.
2. Django中的Q
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/138454.html