devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻

Как русифицировать все поля в админке django?

Имеется следующая модель:
class Work(models.Model):                                                        
    photo = models.ImageField(upload_to='works_work_photos',                     
                              verbose_name='фото')                               
    description = models.CharField(max_length=1500, null=True, blank=True,       
                                   verbose_name='описание')                      
                                                                                 
    def __str__(self):                                                           
        return "Проект " + str(self.pk) + ": " + self.description[:100]          
                                                                                 
    class Meta:                                                                  
        verbose_name = 'проект'                                                  
        verbose_name_plural = 'проекты'

И вот такие настройки админки:
class WorkModelForm(forms.ModelForm):
    description = forms.CharField(widget=forms.Textarea, required=False)

    class Meta:
        model = Work
        fields = "__all__"


class WorkAdmin(admin.ModelAdmin):
    form = WorkModelForm

admin.site.register(Work, WorkAdmin)

Но поле description не переводится, почему-то.
P.S. да, знаю, что правильно использовать django.utils.translation и генерить перевод через manage.py makemessages, но у меня будет только один язык
  • Вопрос задан
  • 819 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Конечно "не переводится", вы же зачем-то переопределили поле в форме. Если вам это действительно нужно, то стоит задать ему параметр label:
class WorkModelForm(forms.ModelForm):
    description = forms.CharField(label='описание', widget=forms.Textarea, required=False)
    ...

Но подозреваю, что не нужно, что вам просто нужно было задать для этого поля виджет:
class WorkModelForm(forms.ModelForm):
    class Meta:
        model = Work
        fields = "__all__"
        widgets = {
            'description': forms.Textarea,
        }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы