Как настроить автоматически генерируемую форму django?
Я создал форму в приложении django с помощью встроенного класса форм.
вот мой forms.py файл.
# import form class from django
from dataclasses import field
from django import forms
from .models import #MYMODEL#
class myForm(forms.ModelForm):
class Meta:
model = #MYMODEL#
fields = "__all__"
и моя функция представления в views.py
def index(request):
context = {}
form = myForm(request.POST or None, request.FILES or None)
if form.is_valid():
form.save()
context['form'] = form
return render(request, "index.html", context)
и, наконец, страница (index.html), на которой отображается форма
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Kaydet">
</form>
Итак, мне нужно установить пользовательские типы ввода такие как текст или поле выбора, поскольку автогенерируемая форма включает только текстовые вводы.
Вы можете использовать виджеты, https://docs.djangoproject.com/en/4.0/ref/forms/widgets/, вот пример:
class myForm(forms.ModelForm):
class Meta:
model = #MYMODEL#
fields = "__all__"
widgets = {
'category': forms.Select(attrs={"class": "form-control"}),
'title': forms.TextInput(attrs={"class": "form-control"}),
'description': forms.Textarea(attrs={"class": "form-control"}),
}