Продвинутый Django 5 для продолжающих

Прогресс по курсу:  0/193

7.2 Перевод моделей и форм
4 из 4 шагов пройдено

Давайте также переведем формы проекта.

В форме BookCreateForm не используются метки(label) полей формы. Вместо них, в полях, используются плейсхолдеры, которые указываю в какие поля вводить соответствующие данные книги. Теперь давайте переведем их.

Отредактируйте файл forms.py приложения books, отметив необходимые для перевода плейсхолдеры в полях формы BookCreateForm, как показано ниже:

from django.forms import ModelForm, CharField, TextInput
from .models import Book
from django.utils.translation import gettext_lazy as _  # new


class BookCreateForm(ModelForm):
    title = CharField(required=False, widget=TextInput(attrs={"class": "clrtxt", "placeholder": _("Title")}))
    author = CharField(required=False, widget=TextInput(attrs={"class": "clrtxt", "placeholder": _("Author")}))
    price = CharField(required=False, widget=TextInput(attrs={"class": "clrtxt", "placeholder": _("Price")}))

    class Meta:
        model = Book
        fields = ['title', 'author', 'price']

Вы задали для перевода плейсхолдеры Title, Author и Price для полей, которые отображаются в форме добавления новой книги.

В форме BookEditForm не используются метки полей формы, а вместо плейсхолдеров загружаются данные редактируемой книги - перевод данной формы не требуется.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий
Нет обсуждений. Начните первое.