Ich baue eine Post-App, die automatisch erstellt Slug aus dem Beitrag Titel. Wenn es eine Fremdsprache im Titel gibt, wird Slug nicht generiert.django 1.9 slug Feld funktioniert nicht für die Fremdsprache
Ich habe bereits einige der Antworten hier durchgegangen, aber es hilft nicht viel. Fehle ich etwas in unten?
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)
unten Hinzugefügt in settings.py
:
ALLOW_UNICODE_SLUGS = True
Bitte aktualisieren Sie Ihre Frage zuerst, indem Sie sie formatieren und dann die genaue Fehlermeldung hinzufügen, die Sie erhalten haben. Bitte informieren Sie auch, was die Slugify-Bibliothek ist, die Sie verwenden (Django ist eingebaut oder eine dritte Partei) – e4c5
@ e4c5 danke für den Vorschlag! Ich werde sicherstellen, dass ich dem folge. – Ankit