Прежде всего, в ваших формах есть ошибка.py:
$ python forms.py
File "forms.py", line 5
def __init__(self. rdict, *args, **kwargs):
^
SyntaxError: invalid syntax
Тогда, я думаю, проблема в следующем. Возможно, вы пытаетесь создать форму с кодом, подобным следующему:
new_form = ContextForm(request.POST, something_else)
Поэтому, если ваш request.POST
примерно такой:
{'some_field': '100000'}
Тогда в этой строке:
self.fields['%s' % str(key)] = getattr(forms,rdict.get(key))()
forms
является модульным объектом, key
равен 'some_field'
, поэтому rdict.get(key)
равен '100000'
и
getattr(forms,rdict.get(key))()
эквивалентно:
getattr(forms, '100000')()
что определенно не в порядке.