Python projeleriniz için SEO dostu URL sluglarını anında oluşturun — sonucu görmek için pip install gerekmez. Django, Flask veya FastAPI fark etmez; temiz bir slug "Merhaba Dünya!" başlığını "merhaba-dunya" yapar. Django'da SlugField'ı unique=True ile kullanın ve değeri view içinde değil modelin save() metodunda üretin; böylece admin'den ve API'den oluşturulan kayıtlar aynı davranır. Django'nun yerleşik slugify() fonksiyonu allow_unicode=True verilmezse ASCII dışı karakterleri tamamen siler — Türkçe, Almanca veya Ukraynaca başlıkların önce transliterasyon adımına ihtiyaç duymasının nedeni budur; python-slugify paketi (ve bu araç) bunu doğru dil eşlemeleriyle çözer. Flask ve FastAPI'de yerleşik yardımcı yoktur; çoğu ekip ya 10 satırlık bir fonksiyon yazar ya da python-slugify'a bağımlılık ekler. Sık yapılan hatalar: benzersizlik kontrolünden önce küçük harfe çevirmeyi unutmak, emoji temizliği sonrası çift tire kalması ve veritabanı sütun limitine kısaltma sonrası çakışan sluglar. Metninizi yukarı yapıştırıp ayraç ve büyük/küçük harf seçeneklerini karşılaştırın, ardından aşağıdaki Python kodunu projenize kopyalayın.
from slugify import slugify # pip install python-slugify
title = "Merhaba Dünya! SEO Friendly URL"
print(slugify(title)) # merhaba-dunya-seo-friendly-url
# Standard-library alternative (no dependency)
import re, unicodedata
def slugify_basic(text: str) -> str:
text = unicodedata.normalize('NFKD', text).encode('ascii', 'ignore').decode()
text = re.sub(r'[^\w\s-]', '', text).strip().lower()
return re.sub(r'[-\s]+', '-', text)