تخطَّ إلى المحتوى

🎸 شرح Django

الـ Views بعمق

الدرس 11 من 25· ⏱ 1 دقائق قراءة

الـ View الدالّيّة

دالة تستقبل request وتعيد استجابة:

from django.shortcuts import render
from django.http import HttpResponse
from .models import Post

def home(request):
    return HttpResponse("مرحبًا")

def post_list(request):
    posts = Post.objects.filter(published=True)
    return render(request, "blog/list.html", {"posts": posts})

render

تربط View بقالب وتمرّر بيانات (context):

render(request, "template.html", {"key": value})

كائن request

request.method        # GET / POST
request.GET.get("q")  # معامل استعلام
request.POST.get("name")  # بيانات نموذج
request.user          # المستخدم الحالي

أنواع الاستجابات

from django.shortcuts import redirect, get_object_or_404

def detail(request, id):
    post = get_object_or_404(Post, id=id)   # 404 إن لم يوجد
    return render(request, "detail.html", {"post": post})

def create(request):
    # ... حفظ ...
    return redirect("post_list")            # إعادة توجيه

🎯 التالي: الـ Views الصنفية.

هل كان هذا الدرس مفيدًا؟