Hallo,
ich habe ien Formular, über das User verschiedene Daten eingeben können. Im Model habe ich auch ein SlugField definiert. Das wird auch schön in der Admin-Oberfläche angezeigt. Nun möchte ich aber, dass auch im Formular für die User ein SlugField erstellt wird. Da ich die Daten speichern möchte, benötige ich einen Wert für das im Model definierte SlugField. Gibt es so etwas wie ein SlugField auch für Form fields?
Mawilo
[Django] SlugField als Form field
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Ich habe mir eine kleine Funktion geschrieben, um einen Django-Slug-Wert zu erzeugen:
Das geht aber doch bestimmt auch einfacher?
Code: Alles auswählen
def create_slug(string):
string = str(string).lower()
dic = {' ':'-', 'ü':'u', 'ä':'a', 'ö':'o', 'ß':'ss', 'å':'a'}
for u in dic:
string = string.replace(u, dic[u])
for s in string:
if s == '-':
continue
if not s.isalnum():
string = string.replace(s, '')
return string
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Habe ich auch gefunden - nur hätte ich eben gerne den Komfort aus der Admin-Oberfläche in einem "normalen" Webformular. Oder sind meine Ansprüche nur einfach zu hochapollo13 hat geschrieben:Ja, django hat sicher irgendwo eine slugify Funktion

Hey...
django hat in seinen defaultfilters eine function "slugify"
Kannst du ganz einfach nutzen:
django hat in seinen defaultfilters eine function "slugify"
Kannst du ganz einfach nutzen:
Code: Alles auswählen
from django.template.defaultfilters import slugify
slugify("Hallo das ist ein TEST!")
u'hallo-das-ist-ein-test'