2013-02-26 59 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