Как настроить автоматически генерируемую форму 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"}),            
            }
Вернуться на верх