Dane w jednym z pól formularza są widoczne w form.cleaned_data ale nie są widoczne w szablonie.
Kod który mam jest taki.
form_fields.py
from django import forms
# to pole ma zamienic domyslny dla MultipleChoiceField sposob walidacji
class AbcFormField(forms.MultipleChoiceField):
def validate(self,value):
forms.Field.validate(self.value)
from django import forms
from .form_fields import AbcFormField
class AbcForm(forms.Form):
abc = AbcFormField(required=False)
from django.views.generic import FormView
from .forms import AbcForm
class AbcView(FormView):
template_name = <jakis template>
form_class = AbcForm
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
# tutaj wartosci w context dla form.abc nie pokazuja sie, a powinny
return context
def form_valid(self, form):
# tutaj jakis kod
# wartosc w form.cleaned_data["abc"] jest widoczna i poprawna
return self.render_to_response(self.get_context_data())
Pola abc
w formularzu potrzebuje tylko do walidacji i wyczyszczenia danych, które przychodzą z formularza, ale chciałby te wyczyszczone dane mieć z powrotem dostępne w szablonie do wyświetlenia.