Django: как реализовать форму в боковой панели?

EDIT

шаблон с ошибкой отображается, но я хотел бы, чтобы форма в боковой панели отображала ошибки...

enter image description here


Я пытаюсь реализовать форму (форма PatientForm и представление PatientCreate) в боковой панели, используя CBV. Но пока не получается...

Я передаю свою форму в контексте, используя context_processor.

Форма пациента отображается в боковой панели, но когда я отправляю данные, они не регистрируются (если действительны) и не отображаются сообщения об ошибках (если не действительны).

Я пробовал как указано в этом посте Django sidebar form . Данные регистрируются, но мне не удается вывести ошибки...

base.py

...
<nav class="navbar col-md-2 d-none d-md-block bg-light sidebar">
...
    <form id="id-form" method="post">
       {% csrf_token %}
       {{ patient_form | crispy }}
       <button class="btn btn-outline-secondary btn-sm" type="submit">Create</button>
    </form>
...
</nav>

views.py


@method_decorator(login_required, name="dispatch")
class PatientCreate(SuccessMessageMixin, CreateView): 

    model = Patient
    form_class = PatientForm
    # fields = ["pat","pat_sit"]
    success_message = "Le patient a été créé."

    def get_success_url(self):

        return reverse("ecrf:index")

    def form_valid(self, form):
        # This method is called when valid form data has been POSTed.
        form.instance.pat_sai_log = self.request.user.username
        form.save()
        return super().form_valid(form)

forms.py

class PatientForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(PatientForm,self).__init__(*args, **kwargs)

        self.fields["pat"] = forms.CharField(label= "Patient", required=True)
        self.fields["pat_sit"] = forms.ModelChoiceField(queryset = Site.objects.filter(sit_typ = "Site"),widget=forms.Select(), label = "Patient site")

    class Meta:
        model = Patient
        fields = ["pat","pat_sit"]
Вернуться на верх