Django Crispy forms helper throwing Неудачный поиск для ошибки ключа [помощника] - PullRequest
0 голосов
/ 19 июня 2020

Я не могу получить помощник по хрустящей форме для работы с формами или наборами форм. Если я просто использую теги {% crispy form%} или {% crispy formset%}, в зависимости от реализации, формы отображаются и работают нормально. Конечно, это проблема, когда я пытаюсь использовать макеты с хрустящими помощниками. Когда я использую {% crispy form.helper%} или {% crispy formset helper%}, мое приложение выдает следующие ошибки:

Неудачный поиск ключа [% s] в% r / Неудачный поиск ключа [ helper] error

Это очень странно, так как это относится только к помощникам, и я пробовал передавать помощники, различные атрибуты и данные набора запросов. Я пробовал использовать inlineformset_factory, а также modelformset_factory, и результаты такие же.

Я пытаюсь использовать фабрику встроенных форм с родителем в качестве зарегистрированного пользователя. Мой пользовательский pk - это UUID (который вызывает еще одну ошибку, связанную с этими наборами форм: объект UUID не содержит переменной 'pk'). Вот мое мнение:

@login_required(login_url=reverse_lazy('login'))
def real_property_req(request):
# Import RealPropertyFormSet from forms.py
current_user = CustomUser.objects.get(id=request.user.id)
submitted = False
if request.method == "POST":
    formset = RealPropertyFormSet(request.POST, instance=current_user)
    if formset.is_valid():
        formset.save()
        return HttpResponseRedirect('?submitted=True')

formset = RealPropertyFormSet(instance=current_user)
context = {'formset': formset, 'submitted': submitted}
return render(request, 'real_property.html', context)

urls.py для этого вызова:

re_path(r'^real_property/', views.real_property_req,
        name='real_property_req'),

Я создал экземпляр формы в forms.py с помощью:

    def __init__(self, *args, **kwargs):
    super(RealPropertyForm, self).__init__(*args, **kwargs)
    # REAL PROPERTY FORM
    self.helper = FormHelper()
    self.helper.form_method = 'POST'

И набор форм изначально определен в forms.py как:

RealPropertyFormSet = inlineformset_factory(CustomUser, RealProperty,
                                fields = ('__all__'), extra=1)

Я прочитал несколько проблем, которые похожи на те, с которыми я сталкиваюсь, но ничего прямо по делу, и другие проблемы кажутся вокруг путей URL или неспособность правильно определить форму, набор форм или переданный контекст. Я не могу определить ни одну из этих проблем. Может ли кто-нибудь помочь мне с тем, что здесь происходит?

...