Задать вопрос
  • Что не так с моим кодом?

    @VictorSeverlock
    friends = ['Сергей', 'Соня', 'Дима', 'Алина', 'Егор']
    print(f'Привет, {friends[3]}, я Анфиса!')
    Ответ написан
    Комментировать
  • Как автоматически сформировать slug с русского слова?

    @VictorSeverlock
    from autoslug import AutoSlugField # AutoSlugField нужно дополнительно установить (pip install django-autoslug) - добавляет поля slug
    from uuslug import uuslug # нужно дополнительно установить(pip install django-uuslug) - переводит URL-адреса на латиницу

    class ModelZavet(models.Model):
    ...
    mz_slug = AutoSlugField('URL', max_length=70, db_index=True, unique=True, populate_form=lambda instance: instance.mz_name, slugify=lambda value: value.replace(' ', '-'))
    ...

    def save(self, *args, **kwargs):
    self.mz_slug = uuslug(self.mz_slug, instance=self)
    super(ModelZavet, self).save(*args, **kwargs)

    # populate_form -> берёт заголовок названия
    # slugify=lambda value: value.replace(' ', '-') -> заменяет пробелы на тире

    ! Для того чтобы не возникло проблем при выполнении миграции -> заменить lambda-функции обычными функциями и написать их перед моделью

    def instance_ mz_slug(instance):
    return instance.mz_name

    def slugify_value(value):
    return value.replace(' ', '-')

    #должно получится так:
    class ModelZavet(models.Model):
    ...
    mz_slug = AutoSlugField('URL', max_length=70, db_index=True, unique=True, verbose_name='URLs',
    populate_from= instance_ mz_slug, slugify=slugify_value)
    ...

    ! Если в admin.py указано
    prepopulated_fields = {'mz_slug': ('mz_name',)} -> нужно удалить или закомментировать

    ! Больше нигде ничего указывать не надо
    Ответ написан