私はジャンゴ1.5を使用しています
リクエスト オブジェクトを包含タグに渡したいのですが、キー エラーというエラーが発生します。
私の見解は次のとおりです。
class IglesiaCreateView(CreateView):
model = Iglesia
template_name = 'iglesia/iglesia_form.html'
success_url = reverse_lazy('iglesia_list')
form_class = IglesiaForm
def get_form_kwargs(self):
kwargs = super(IglesiaCreateView, self).get_form_kwargs()
kwargs['request'] = self.request
return kwargs
私のフォームは次のとおりです。
class IglesiaForm(forms.ModelForm):
class Meta:
model = Iglesia
fields = ('nombre', 'principal', 'parroquia')
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(IglesiaForm, self).__init__(*args, **kwargs)
parroquia = self.request.session.get('parroquia')
self.fields['parroquia'].queryset = Parroquia.objects.filter(pk=parroquia.pk)
self.fields['parroquia'].empty_label = None
私の包含タグは次のとおりです。
from myapp.forms import IglesiaForm
@register.inclusion_tag('includes/iglesia_ajax_form.html', takes_context=True)
def iglesia_ajax(context):
request = context['request']
form_iglesia = IglesiaForm()
ctx = {'form_iglesia': form_iglesia}
return ctx
エラーがあります:
Django Version: 1.5.1
Exception Type: KeyError
Exception Value: 'request'
編集:
問題が解決しました
TEMPLATE_CONTEXT_PROCESSORS に「django.core.context_processors.request」を追加します。
そして変更:
form_iglesia = IglesiaForm()
に:
form_iglesia = IglesiaForm(request=request)
ご協力いただきありがとうございます