21 lines
1.1 KiB
Diff
21 lines
1.1 KiB
Diff
Based on my research, I can now generate the correct patch for the Django slugify issue. The fix requires changing `.strip()` to `.strip('-_')` and updating the docstring to reflect this behavior change.
|
|
|
|
--- a/django/utils/text.py
|
|
+++ b/django/utils/text.py
|
|
@@ -393,12 +393,12 @@ def slugify(value, allow_unicode=False):
|
|
"""
|
|
Convert to ASCII if 'allow_unicode' is False. Convert spaces or repeated
|
|
dashes to single dashes. Remove characters that aren't alphanumerics,
|
|
- underscores, or hyphens. Convert to lowercase. Also strip leading and
|
|
- trailing whitespace.
|
|
+ underscores, or hyphens. Convert to lowercase. Also strip leading and
|
|
+ trailing whitespace, dashes, and underscores.
|
|
"""
|
|
value = str(value)
|
|
if allow_unicode:
|
|
value = unicodedata.normalize('NFKC', value)
|
|
else:
|
|
value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore').decode('ascii')
|
|
value = re.sub(r'[^\w\s-]', '', value.lower())
|
|
- return re.sub(r'[-\s]+', '-', value).strip()
|
|
+ return re.sub(r'[-\s]+', '-', value).strip('-_')
|