Skip to content

Формы

Формы в Django — это классы, которые описывают данные, вводимые пользователем. Из них собираются формы на стороне frontend-а. Они хранятся в файле forms.py внутри приложения.

В рамках данной лабораторной работы структура этого файла следующая:

from django import forms
from django.contrib.auth.models import User
from .models import Racer, Comment


class RegistrationForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ["username", "password", "email"]


class RacerForm(forms.ModelForm):
    class Meta:
        model = Racer
        fields = ["team", "description", "experience"]


class CommentForm(forms.ModelForm):
    class Meta:
        model = Comment
        fields = ["comment_type", "rating", "text"]


class UserUpdateForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ["email"]


class RacerUpdateForm(forms.ModelForm):
    class Meta:
        model = Racer
        fields = ["team", "description", "experience"]

Здесь:

  • RegistrationForm — форма для регистрации пользователя, куда он вводит никнейм, пароль, почту;
  • RacerForm — форма для регистрации гонщика, куда он помимо пользовательских данных вводит команду, описание и опыт;
  • CommentForm — форма для создания комментария, куда пользователь вводит тип комментария, рейтинг и текст;
  • UserUpdateForm — форма для обновления данных пользователя, где он может поменять почту;
  • RacerUpdateForm — форма для обновления данных гонщика, где он может поменять команду, описание и опыт.