Я создаю пост-приложение, которое автоматически создает slug из заголовка сообщения. Если в заголовке есть какой-либо иностранный язык, пул не генерируется.django 1.9 slug field не работает для иностранного языка
Я уже рассмотрел некоторые из ответов здесь, но это не очень помогает. Я что-то пропустил внизу?
class Post(models.Model):
title = models.CharField(max_length=120)
slug = models.SlugField(unique=True, allow_unicode=True)
content = models.TextField()
def create_slug(instance, new_slug=None):
slug = slugify(instance.title)
if new_slug is not None:
slug = new_slug
qs = Post.objects.filter(slug=slug).order_by("-id")
exists = qs.exists()
if exists:
new_slug = "%s-%s" %(slug, qs.first().id)
return create_slug(instance, new_slug=new_slug)
return slug
def pre_save_post_receiver(sender, instance, *args, **kwargs):
if not instance.slug:
instance.slug = create_slug(instance)
Добавлено ниже settings.py
:
ALLOW_UNICODE_SLUGS = True
Пожалуйста, сначала обновите свой вопрос, отформатировав его, а затем добавив точное сообщение об ошибке, которое вы получите. Пожалуйста, также сообщите, какая библиотека slugify вы используете (встроенный Django или сторонний) – e4c5
@ e4c5 благодарит за предложение! Я обязательно буду следовать этому. – Ankit