Django Forms не отображается в html в Django 3
Здесь я использую Django3 и Python 3.7
Я не могу отобразить поля формы при попытке добавить пользовательское поле, но как только я нажимаю кнопку Сохранить пользовательские поля, поля отображаются
Вот мой views.py
class EavAttributeCreateView(CustomAdminMixin, CreateView):
model = ClientAttribute
form_class = EavAttributeForm
template_name = "core/eav_attribute_form.django.html"
def form_valid(self, form):
print("*** in form valid... ***")
try:
self.object = form.save(commit=False)
self.object.order = form.cleaned_data.get("order", "0")
self.object.client = self.request.user.client
self.object.type = self.kwargs.get("type")
self.object.save()
except ValidationError as e:
form._errors = e.message_dict
return self.form_invalid(form)
messages.success(self.request, 'The attribute "{0}" was successfully saved.'.format(self.object.slug))
return redirect(self.get_success_url())
def get_context_data(self, **kwargs):
context = kwargs
context["eav_type"] = self.kwargs.get("type")
context["special_datatypes"] = {
"enum": ClientAttribute.TYPE_ENUM,
}
return context
def get_success_url(self):
return reverse("entity_attribute_list", kwargs={"type":self.kwargs.get("type")})
Вот мой forms.py
class EavAttributeForm(forms.ModelForm):
description = forms.CharField(max_length=256, required=False, label=u"Hint", help_text="User-friendly custom field name.")
datatype = forms.ChoiceField(choices=Attribute.DATATYPE_CHOICES)
type = forms.CharField(max_length=20, required=False, widget=forms.HiddenInput)
order = forms.FloatField(required=False, initial="0", help_text=u"The fields are ordered according to this number, from the lowest to the highest.")
enum_group = ChoicelessTypedMultipleChoiceField(required=False, label="Choice values", coerce=enum_value, widget=forms.CheckboxSelectMultiple)
class Meta:
model = Attribute
fields = ["type", "name", "description", "required", "order",
"datatype", "enum_group", "in_enquiry_form", "is_auto_filter"]
exclude = ("in_enquiry_form", "is_auto_filter")
def clean_enum_group(self):
.....
.....
Вот мой шаблон.html
здесь я добавляю изображения
Изначально он отображается следующим образом
Но после того, как я нажимаю кнопку Сохранить таможенное поле, я получаю следующее (изображение ниже)
Пожалуйста, помогите мне, где я ошибаюсь с формами или шаблоном