簡體   English   中英

Python / Django:如何反序列化foo [] = 1&foo [] = 2&

[英]Python/Django: How to deserialize foo[]=1&foo[]=2&

是否有用於查詢字符串的預構建反序列化器,例如:

foo[]=1&foo[]=2&foo[]=34&....&foo[]=5

目前,我只是使用replacesplit來處理字符串以獲取具有所有值的序列,但是我很好奇Python或Django中是否沒有某些Utility / helper方法來執行此操作。

顯然,Django在處理請求時可以做非常相似的事情,但是我a)不知道是否/如何使用它,以及b)是否可以從foo[]表示法接收序列。

注意:我無法更改源字符串,因為它來自第三方程序包。

更新

多謝您的回覆。 我的值來自POST,所以我做了以下操作(不確定是否有更直接的方法,例如request.GET.getlist()所使用的答案):

foo = QueryDict(request.POST.get('my_var_name')).getlist('foo[]')

首先,絕對沒有理由發送帶有[]前綴的數據。 那是PHP或Rails的習慣用法,在Django中沒有位置。

但是,要從重復的參數獲取列表,您可以只使用getlist

foos = request.GET.getlist('foo[]')

只需使用getlist()方法檢索所有值:

foo_list = request.GET.getlist('foo[]')

包括方括號,它們只是名稱的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM