0

ユーザーが送信する前に複数の選択を行うことができるチェックボックスフォームがあります。私のビューがこの入力を取得するとき、それはユニコードであり、これを処理する正しい方法について少し混乱しています。

チェックボックスは、選択されて送信されたものに応じて、事前定義されたタプルを表します。

これを理解するために私がまとめた例を次に示します。

>>> 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
>>>

これは、Unicodeタプル名を含む変数を参照し、それらのオブジェクトを反復処理できるようにする方法に関するDjangoの質問というよりもPythonです。

4

1 に答える 1

0

使用できますlocals()

b = ('mike', 'fred', 'paul')
selection = [u'b']
for name in locals()[selection[0]]:
    print name
# mike
# fred
# paul
于 2013-02-26T01:31:40.710 に答える