Opened 15 years ago

Closed 15 years ago

Last modified 13 years ago

#299 closed defect (fixed)

Slugify shouldn't remove hyphens

Reported by: gch@… Owned by: Adrian Holovaty
Component: contrib.admin Version:
Severity: normal Keywords:
Cc: Triage Stage: Ready for checkin
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


Example python session:

>>> from django.core.defaultfilters import slugify
>>> slugify('Django Rocks!', None) 
>>> slugify('django-rocks', None)

Personally, I think it makes much more sense to not have it remove the hyphens. Basically, you want slugify(slugify(slugify(X))) to equal slugify(X).

The simple fix here is the following diff

---   (revision 463)
+++   (working copy)
@@ -54,7 +54,7 @@
 def slugify(value, _):
     "Converts to lowercase, removes non-alpha chars and converts spaces to hyphens"
-    value = re.sub('[^\w\s]', '', value).strip().lower()
+    value = re.sub('[^\w\s-]', '', value).strip().lower()
     return re.sub('\s+', '-', value)
 def stringformat(value, arg):

Change History (1)

comment:1 Changed 15 years ago by Adrian Holovaty

Resolution: fixed
Status: newclosed

(In [464]) Fixed #299 -- Slugify no longer removes hyphens. Thanks, gch@…

Note: See TracTickets for help on using tickets.
Back to Top