如何从发布方法获取值

时间:2018-08-13 10:16:15

标签: django django-forms django-views

我有一个表格作为输入字段(列表)。我想单独访问该字段。我的代码如下,我得到的输出。

 def alltestdata(request):
    if request.method == 'POST':
      username = request.POST
      print(username)
  return redirect('lab:Dashboard')

我的输出将是这样

         <QueryDict: {'csrfmiddlewaretoken':      ['vPkRRW9dCFLRRmVAm3PlOS1MURkZ6pSLBxz6ryEuVkwzuD2vW6mlWstFYxF2T4Tx'], 'name': ['gg', 'rr', 'rr','ee']}>

2 个答案:

答案 0 :(得分:3)

request.POSTQueryDict,其中包含所有已发布的元素。

如果要将所有元素的 list 附加到特定键,则可以使用QueryDict.getlist

request.POST.getlist('name')  # => ['gg', 'rr', 'rr','ee']

或者如果您对附加到给定键的 last 元素感兴趣,则可以使用索引或QueryDict.get()

request.POST['name']  # => 'ee'
request.POST.get('name')  # => 'ee'

区别在于,如果不存在这样的密钥,则前者将引发异常,而后者将返回None

答案 1 :(得分:0)

if request.method == 'POST':
  username = request.POST.get('username','')
  print(username)

如果存在其他字符串,这将从帖子正文中获取用户名