2013-02-26 70 views
0

我有一個複選框表單,用戶可以在提交之前進行多項選擇。當我的觀點得到這個輸入時,它是在unicode中,我對處理這個問題的正確方法有點困惑。Django循環雖然unicode表單輸入和參考元組

這些複選框將代表預定義的元組,我將根據選擇和提交的內容去決定哪些元組。

這裏是我放在一起揣摩這一點爲例,

>>> b = ('mike', 'fred', 'paul') 
>>> g = ('sally', 'sara', 'heather') 
>>> 
>>> selection = [u'b'] 
>>> type(selection[0]) 
<type 'unicode'> 
>>> for name in selection: 
...  print name 
... 
b 
>>> 

這是近,

>>> selection = [b] 
>>> for name in selection: 
...  print name 
... 
('mike', 'fred', 'paul') 

試圖將Unicode到ASCII轉換,但多數民衆贊成在不工作,

>>> for i in selection[0].encode('ascii', 'ignore'): 
...  print i 
... 
b 
>>> 

這就是我想如何處理表格數據,

>>> for i in b: 
...  print i 
... 
mike 
fred 
paul 
>>> 

這是一個比Django更多的python問題,如何引用包含unicode元組名稱並能夠遍歷這些對象的變量。

+0

AttributeError的: '元組' 對象有沒有屬性 '編碼' – somethingelse 2013-02-26 03:03:34

回答

0

您可以使用locals()

b = ('mike', 'fred', 'paul') 
selection = [u'b'] 
for name in locals()[selection[0]]: 
    print name 
# mike 
# fred 
# paul 
+0

這樣的作品,將考慮本地人。謝謝 – somethingelse 2013-02-26 01:45:41

+0

這隻適用於我只選擇b,但是如果我選擇了b和g,TypeError:不可用類型:'list' – somethingelse 2013-02-26 03:02:20

+0

然後檢查類型並迭代列表。 – mVChr 2013-02-26 18:16:27