Reusable Django routines: middleware and i18n helpers.
Project description
django-routines-tr
Django projeleri için tekrar kullanılabilir middleware, authentication backend ve altyapı rutinleri.
Dil yönlendirmesi, admin erişim kontrolü, çok dilli slug yönetimi ve e-posta ile giriş gibi tekrar eden altyapı kodlarını ortadan kaldırmak için tasarlanmış, hafif ve production odaklı yardımcı araçlar içerir.
Özellikler
- Dil duyarlı yönlendirme middleware’i
- Admin erişim güvenlik middleware’i
- Çok dilli slug yönlendirme yardımcı fonksiyonu
- Türkçe karakter uyumlu slugify fonksiyonu
- E-posta ile giriş (authentication backend)
Kurulum
pip install django-routines-tr
Kullanım
Middleware Eklemek
settings.py dosyanıza middleware’leri ekleyin:
MIDDLEWARE = [
...
"django_routines.middleware.language_redirect.LanguageRedirectMiddleware",
"django_routines.middleware.admin_redirect.AdminRedirectMiddleware",
]
Middleware Detayları
LanguageRedirectMiddleware
- URL’leri aktif dile göre otomatik olarak prefixler
- Static ve media yollarını hariç tutar
settings.LANGUAGESayarını dikkate alır- Çift dil prefix oluşumunu engeller
AdminRedirectMiddleware
/admin/paneline sadece superuser erişimine izin verir- Yetkisiz erişimlerde HTTP 404 döner
- Admin panelinin ifşa edilmesini azaltmaya yardımcı olur
Authentication
EmailBackend
Kullanıcıların e-posta adresi ile giriş yapmasını sağlar.
Ayar
settings.py dosyanıza ekleyin:
AUTHENTICATION_BACKENDS = [
"django_routines.auth.email_backend.EmailBackend",
]
Bu backend:
usernameparametresi yerine e-posta alanı üzerinden kullanıcıyı bulur- Şifre doğrulamasını Django’nun standart mekanizması ile yapar
is_activekontrolünü korur
Örnek Kullanım
from django.contrib.auth import authenticate
user = authenticate(request, username="user@example.com", password="secret")
if user is not None:
# giriş başarılı
pass
Not: Kullanıcı modelinizde email alanı unique olmalıdır.
Yardımcı Fonksiyonlar
turkce_slugify
Türkçe karakterleri ASCII uyumlu karşılıklarına çevirir ve ardından Django’nun slugify fonksiyonunu uygular.
from django_routines import turkce_slugify
slug = turkce_slugify("İstanbul Şehir Rehberi")
# Çıktı: istanbul-sehir-rehberi
redirect_to_correct_i18n_slug
Aktif dile göre doğru slug alanını kontrol eder ve gerekirse doğru slug’a yönlendirme yapar.
from django_routines import redirect_to_correct_i18n_slug
response = redirect_to_correct_i18n_slug(
obj=article,
current_slug=slug,
url_name="article_detail",
)
if response:
return response
Gereksinimler
- Python 3.10+
- Django 4.2+
Lisans
Apache Lisansı
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_routines_tr-1.0.4.tar.gz.
File metadata
- Download URL: django_routines_tr-1.0.4.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4467e43779d635917d4dde8e506930f9007681a362151d0ff6287ef23875e788
|
|
| MD5 |
6215f36a75d1e09a3d2430562021dc98
|
|
| BLAKE2b-256 |
2f39b8fb915616b33ef2a106560d6cc19bf1e97c4ddd0eb875b1e7d2ee2a09d4
|
File details
Details for the file django_routines_tr-1.0.4-py3-none-any.whl.
File metadata
- Download URL: django_routines_tr-1.0.4-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13c5b31d00666d21da5139e21c40c688048f52d7ecf791e46094d5575009755a
|
|
| MD5 |
a8ab7b2b88f332e11a62679fe83a898f
|
|
| BLAKE2b-256 |
4a0a4de4b88f2e208d70db136e4289a4fa6137ae069b168008d0100baee0c232
|