- 从URL中GET到关键字
<a href="blog/?id=3>博客标题</a>
这样views里面的函数这么写获取到id的值
def function(request):
id = request.GET['id']
不管是get请求,还是post请求,都可以用
request.REQUEST.get('username','xxx')
-
假设访问的地址为
http://your-site/?username=tom
-
- 如果get请求后面没有带?username=tom ,post请求的表单里没有name=’username’的元素,那么在后台request.REQUEST.get(‘username’,’xxx’) 得不到值,就会用 xxx 来作为默认值
- 如果是get请求,username就是请求url后面带的参数
- 如果是post请求,那么form表单里需要有一个name=“username” ,例如:
<form>
<input type="text" name="username" value="tom" />
</form>
POST数据是来自HTML中的〈form〉标签提交的,而GET数据可能来自〈form〉提交也可能是URL中的查询字符串(the query string)。即http://your-site/?username=tom这个URL中提供的username。这样的话,request.REQUEST.get(‘username’,’xxx’) 就能得到username的值:tom 。
接下来看另外一个例子
若用户输入了 “John Smith” 在 your_name 框并且选择在多选框中同时选中了 The Beatles 和 The Zombies, 然后点击 Submit, Django的request对象将拥有:
>>> request.GET
{}
>>> request.POST
{'your_name': ['John Smith'], 'bands': ['beatles', 'zombies']}
>>> request.POST['your_name']
'John Smith'
>>> request.POST['bands']
'zombies'
>>> request.POST.getlist('bands')
['beatles', 'zombies']
>>> request.POST.get('your_name', 'Adrian')
'John Smith'
>>> request.POST.get('nonexistent_field', 'Nowhere Man')
'Nowhere Man'