Посмотрите на это:
url(r'^add$', create_object_with_request, {'template_name':'tpl.html','form_class':MyModelForm,'post_save_redirect':'/'},name = 'add'),
,
def create_object_with_request(request, *args, **kwargs):
def inject_request(fun):
def helper(*args, **kwargs):
return fun(*args, request=request, **kwargs)
return helper
kwargs['form_class'] = inject_request(kwargs['form_class'])
return create_object(request, *args, **kwargs)
Итак, вы передали запрос вашему конструктору классов.Или вы можете добавить его как атрибут:
def create_object_with_request(request, *args, **kwargs):
def inject_request(fun):
def helper(*args, **kwargs):
res = fun(*args, **kwargs)
res.request = request
return res
return helper
kwargs['form_class'] = inject_request(kwargs['form_class'])
return create_object(request, *args, **kwargs)