0Pricing
Django Academy · Aula

Declarando um ModelForm e Meta.fields

Vincule um formulário a um modelo em poucas linhas

Declarando um ModelForm e Meta.fields é uma aula grátis de Django Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Django Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Django Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Why ModelForm Exists

You already have a model describing your data. A ModelForm builds a form straight from that model, so you never repeat the same fields twice. 🎯

Import ModelForm

ModelForms live in the same place as regular forms. You subclass forms.ModelForm instead of forms.Form to get the model-aware version.

from django import forms
from .models import Post

The Meta Class

A ModelForm needs an inner Meta class. Meta is where you tell the form which model it is built from and which fields to include.

class PostForm(forms.ModelForm):
    class Meta:
        model = Post
        fields = ["title", "body"]

Point at a Model

The model attribute names the class your form mirrors. Django reads that model's fields to decide which form inputs to generate for you.

class Meta:
    model = Post

Listing Fields Explicitly

The fields list controls exactly which model fields become form inputs. Naming them keeps the form intentional and safe from surprises.

fields = ["title", "body", "published"]

The Shortcut: fields = all

Setting fields to the string "__all__" includes every model field. It is handy in demos but risky, since new model fields appear automatically.

class Meta:
    model = Post
    fields = "__all__"

Excluding Instead

You can flip it with exclude to keep everything except a few fields. Prefer an explicit fields list when you can, for clarity.

class Meta:
    model = Post
    exclude = ["author"]

Auto-Generated Widgets

Django picks a sensible widget for each field automatically. A CharField becomes a text box and a BooleanField becomes a checkbox without extra work.

Validation Comes Free

Your model's rules ride along too. A field marked required or with a max length brings that same validation into the form for free.

Using It in a View

In a view you create the form the same way as any form. An empty PostForm() renders blank inputs ready for the user to fill.

def create(request):
    form = PostForm()
    return render(request, "create.html", {"form": form})

Binding to an Instance

Pass an existing object with instance and the form pre-fills its values. The same ModelForm now powers both creating and editing.

form = PostForm(instance=post)

Quick Check

Where do you tell a ModelForm which model and fields to use?

Recap: ModelForm Basics

Nice work! A ModelForm builds a form from a model using an inner Meta with model and fields. You skip repetition and inherit validation for free. ✨

Perguntas Frequentes

A aula “Declarando um ModelForm e Meta.fields” é grátis?

Sim — o texto completo de “Declarando um ModelForm e Meta.fields” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Django Academy, atualize para CoddyKit PRO. O curso de Django Academy inclui 4 aulas no total.

O que vou aprender em “Declarando um ModelForm e Meta.fields”?

Vincule um formulário a um modelo em poucas linhas Você pratica Django Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Django Academy?

Nenhuma experiência prévia é necessária. Django Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Declarando um ModelForm e Meta.fields”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Django Academy?

Sim. Cada aula de Django Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Declarando um ModelForm e Meta.fields
  2. form.save() e commit=False
  3. Validação personalizada com métodos clean
  4. Widgets, rótulos e textos de ajuda
← Voltar para Django Academy