Я пытаюсь передать некоторый дополнительный контекст в django CreateView. У меня есть следующий URL:Django CreateView исчезающая форма
url(
regex = r'^add/(?P<complainant_pk>\d+)/$',
view = ComplaintCreateView.as_view(),
name = 'register_complaint',
),
и вид:
class ComplaintCreateView(PermissionRequiredMixin, CreateView):
model = Complaint
form_class = ComplaintForm
login_url = "/login/"
permission_required = "complaints.add_complaint"
def get_context_data(self, **kwargs):
# Call the base implementation to get a context
context = super(ComplaintCreateView, self).get_context_data(**kwargs)
context['complainant'] = Complainant.objects.get(
pk=self.kwargs['complainant_pk']
)
Это приводит к ошибке шаблона, поступающей из шаблона строки:
{% crispy form %}
говоря
VariableDoesNotExist at /complaints/add/6/
Failed lookup for key [form] in...
Когда я удаляю overrid e на get_context_data
форма отлично выглядит, но, конечно, у меня нет моего дополнительного контекста. Любые идеи, что вызывает это? Я полностью тупик, потому что код идентичен некоторому рабочему коду в другом месте моего сайта, за исключением имен моделей. Я попробовал также переопределить get_form_class
в случае, если определенный form_class
был каким-то образом проигнорирован моим новым get_context_data
, но это не помогло.