Django: как реализовать форму в боковой панели?
EDIT
шаблон с ошибкой отображается, но я хотел бы, чтобы форма в боковой панели отображала ошибки...
Я пытаюсь реализовать форму (форма 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"]
