tgoop.com/djangolearn_ir/880
Create:
Last Update:
Last Update:
💎 شورت کات ها درجنگو 💎
توی این پست میخوام درمورد یکسری شورتکات هایی که کمتر کسی بهشون توجه میکنه رو معرفی کنم
1⃣ render_to_string
🧩
این شورتکات یه پله بالا تر از render
هست. اگه میخوای تمپلیت رو به یه رشته (string) تبدیل کنی، مثلا برای ارسال ایمیل یا ساختن پیام خاص، render_to_string
کارت رو راه میندازه. خیلی شیک و مجلسی میتونی تمپلیت رو رندر کنی و به جای HTML کامل، فقط رشته رو داشته باشی:
from django.template.loader import render_to_string
def send_email():
message = render_to_string('email_template.html', {'key': 'value'})
# حالا میتونی message رو به عنوان متن ایمیل بفرستی
2⃣
resolve_url
🔗اگه تا حالا از
reverse
استفاده کردی، این یکی هم خیلی شبیه به اونه ولی یه خورده هوشمندتر. resolve_url
میتونه هم نام ویو رو به URL تبدیل کنه و هم خودش چک میکنه که اگه ورودی URL باشه، مستقیم همون رو برگردونه. پس دیگه نیاز نیست نگران باشی چی بهش میدی:from django.shortcuts import resolve_url
def my_view(request):
url = resolve_url('some-view-name-or-url')
# ادامه کارا
3⃣
HttpResponsePermanentRedirect
🚦شاید با
HttpResponseRedirect
آشنا باشی، ولی این یکی یه Redirect دائمی (کد 301) برمیگردونه. این وقتی خوبه که میخوای URL جدید رو دائمی کنی و به موتورهای جستجو بگی که این مسیر دیگه همیشه اینجاست:from django.http import HttpResponsePermanentRedirect
def my_view(request):
return HttpResponsePermanentRedirect('/new-url/')
4⃣
Http404
🚫اگه دوست داری یه ارور 404 رو مستقیم دستی بندازی،
Http404
بهترین گزینهست. این طوری میتونی خودت خیلی شیک کنترل کنی که کجاها ارور 404 داده بشه:from django.shortcuts import Http404
def my_view(request):
if not some_condition:
raise Http404("این صفحه وجود نداره!")
# ادامه کارا
5⃣
get_current_site
🌍اگه تو پروژههای پیچیدهتر میخوای بدونی که کاربر الان تو کدوم سایت یا دامنه قرار داره (مثلا تو پروژههایی که از multi-site استفاده میکنن)،
get_current_site
خیلی کاربردیه:from django.contrib.sites.shortcuts import get_current_site
def my_view(request):
current_site = get_current_site(request)
# حالا میتونی با current_site هر کاری کنی
این شورتکاتها میتونن واقعاً تو پروژههای پیچیدهتر جنگویی به کارت بیان و کارت رو راحت تر کنن.
#Django #Python #کدنویسی #شورتکات #توسعه_وب #برنامه_نویسی
BY جنگولرن
Share with your friend now:
tgoop.com/djangolearn_ir/880