/ / existe-t-il de toute façon de pré-remplir un champ slug à partir des champs de formulaire dans le modèle avec django? - django, django-forms

est-il possible de pré-renseigner un champ slug à partir des champs de formulaire du modèle avec django? - django, formes-django

Bonne journée. J'ai le champ slug suivant dans mon admin.py:

prepopulated_fields = {"slug": ("title",)}

et dans mon forms.py:

class BookForm(forms.ModelForm):
class Meta:
model = Book

fields = [

"username",
"book",
"slug",
"password1",
"password2",
]

et dans mon modèle:

    <from method=post action="">
{% csrf_token %}
{{ form.py }}
</form>

Merci

Réponses:

1 pour la réponse № 1

Comme suggéré par @yedpodtrzitko dans les commentaires, prepoluated_fields ne fonctionne que pour l'interface d'administration. Si vous voulez le même champ slugifié dans vos vues, vous devez slugifier les champs vous-même où vous le voulez (dans votre views.py par exemple) en utilisant le même slugify méthode que Django utilise en interne:

from django.utils.text import slugify

#wherever you want a slug:
mystring = "a string to slugified"
slugified_string = slugify(mystring) #will output a-string-to-slugified