Use setattr
:
keyMapping = { 'From': 'msg_from',
'To': 'msg_to',
'Body': 'msg_body' }
for k, v in keyMapping.items():
if form.getfirst(k):
setattr(msg, v, form.getfirst(k))
BTW, you should use items()
or iteritesm()
. Otherwise, iterating dictiaonary yields keys only.
Example usage of setattr
:
>>> class Klass:
... def __init__(self):
... self.a = 1
... self.b = 2
...
>>> x = Klass()
>>> setattr(x, 'a', 3)
>>> x.a
3