معرفی view در جنگو
view ها در جنگو مانند مغزبرنامه عمل می کنند.
view ها تابع هایی هستند که درخواستهای کاربران را دریافت کرده و پاسخ مناسب را برمیگردانند.
برای مثال در یک وبسایت فروشگاهی، view ها مسئول نمایش محصولات، مدیریت ثبت نام کاربران و پردازش آنها هستند.
انواع view ها در جنگو
view ها در جنگو دو نوع دارند:
-
Function-Based Views (FBV): این نوع view ها به شکل توابع تعریف می شوند و با دریافت یک یا چند پارامتر، یک شئ را برمی گرداند.
-
Class-Based Views (CBV): این نوع view ها به شکل کلاس ها تعریف می شوند. این نوع view ها، سازماندهی بهتری را فراهم می کند.
تعریف view در جنگو به نوع FBV
روش FBV به صورت تابع تعریف می شود و نمایش ساده ای از view ها می باشد.
برای مثال یک تابع به نام my_view ایجاد می کنیم که می تواند یک رشته را برگرداند.
هر تابع view باید حداقل یک پارامتر دریافت کند به همین دلیل پارامتر request را می نویسیم.
from django.http import HttpResponse
from django.shortcuts import render
def my_view(request):
return HttpResponse("Hello!")
- کتابخانه HttpResponse برای ارسال پاسخ های ساده به کاربر استفاده می شود.
- کتابخانه render برای نمایش تمپلیت های HTML به کار می رود.
تعریف view در جنگو به نوع CBV
روش CBV برای تعریف view ها در جنگو روشی شئ گرا است و با استفاده از کلاس ها تعریف می شود.
برای مثال کلاسی به نام myview ایجاد می کنیم که از کلاس view ارث بری می کند؛ این کلاس، پایه همه view های جنگو می باشد.
در کلاس myview یک متد get ایجاد می کنیم که رشته ای را برمی گرداند.
متدهای get به درخواست های get پاسخ می دهند.(این موضوع در url ها توضیح داده می شود.)
from django.http import HttpResponse
from django.views import View
class myview(View):
def get(self, request):
return HttpResponse("Hello!")
خلاصه درس
در این درس با views در جنگو آشنا شدیم.