6-فایل ویو در جنگو

View چیست؟
در Django، ویو (View) یک تابع پایتون است که درخواستهای HTTP را دریافت کرده و به آنها پاسخ میدهد. این پاسخ میتواند یک صفحه HTML، داده JSON یا هر نوع محتوای دیگری باشد.
ویوها معمولاً در فایلی به نام views.py قرار میگیرند که در پوشه اپلیکیشن شما موجود است.
ایجاد یک View ساده
فایل views.py را در پوشه members پیدا کنید. به طور پیشفرض، این فایل شامل کدی مشابه زیر است:
from django.shortcuts import render
# Create your views here.
محتوای این فایل را با کد زیر جایگزین کنید:
from django.shortcuts import render
from django.http import HttpResponse
def members(request):
return HttpResponse("Hello world!")
نکته: نام تابع view نیازی نیست که حتماً با نام اپلیکیشن یکسان باشد. در اینجا نام members انتخاب شده زیرا با موضوع اپلیکیشن هماهنگی دارد.
این یک مثال ساده برای ارسال یک پیام به مرورگر است.
اجرای View
برای اینکه این ویو در مرورگر نمایش داده شود، باید از طریق یک URL به آن دسترسی پیدا کنید.
1. ایجاد فایل urls.py
برای اپلیکیشن
در جنگو میتوان آدرسِ همهی صفحات را در فایل urls.py که در کنار settings.py هست مدیریت کرد اما برای ایزوله کردن یک اپ و نظم بیشتر در پروژه یه فایل urls.py دیگر در درون اپ ساخته و این فایل را به فایل urls.py اصلی اضافه (import) میکنیم.
یک فایل به نام urls.py
در همان پوشهای که فایل views.py
قرار دارد ایجاد کنید و کد زیر را در آن بنویسید:
from django.urls import path
from . import views
urlpatterns = [
path('members/', views.members, name='members'),
]
این فایل urls.py
مخصوص اپلیکیشن members
است.
2. اضافه کردن فایل url اپ در پروژه اصلی
برای اینکه روتینگ در دایرکتوری اصلی نیز انجام شود کد زیر را در فایل urls.py
که در کنار settings.py است بنویسید.
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('', include('members.urls')),
path('admin/', admin.site.urls),
]
این دستورات یک مسیر جدید در لیست urlpatterns
تعریف میکند تا درخواستهای ورودی به اپلیکیشن members
هدایت شوند.
3. اجرای پروژه
اگر از پایچارم استفاده میکنید پروژه را اجرا کنید و یا در vs code به پوشه پروژه بروید و دستور زیر را در ترمینال (پس از فعالسازی محیط مجازی) اجرا کنید:
python manage.py runserver
هر بار که قصد اجرای پروژه را دارید باید دستور بالا را در ترمینال اجرا کنید
4. مشاهده سایت در مرورگر
بر روی لینکی که در ترمینال ظاهر شده کلیک کنید و یا مرورگر را باز کنید و آدرس زیر را وارد کنید:
console.log( 'Code is Poetry' );127.0.0.1:8000/members/
تنطیم فرانت برای ویو:
معمولاً در بخش فرانتاند یک سایت، فقط یک پیام ساده نمایش داده نمیشود. بلکه یک صفحهی کامل طراحی میشود که با HTML ساختار اصلی آن ایجاد میشود، با CSS ظاهر و زیبایی آن بهبود پیدا میکند، و با JavaScript قابلیتها و تعاملات پویا به آن افزوده میشود. در واقع این سه زبان، استاندارد اصلی توسعهی فرانتاند هستند و در آینده بیشتر با آنها کار خواهیم کرد.
۱. ایجاد پوشه قالبها (Templates)
ابتدا یک پوشه به نام templates داخل پوشهی اپ خود که در این پروژه members است، بسازید. سپس یک فایل HTML به نام myfirst.html درون این پوشه (templates) ایجاد کنید.
ساختار پوشهها باید به شکل زیر باشد:
my_tennis_club
├── manage.py
├── my_tennis_club/
└── members/
└── templates/
└── myfirst.html
۲. ایجاد فایل HTML
فایل myfirst.html را باز کنید و کد زیر را در آن قرار دهید:
Hello World!
Welcome to my first Django project!
۳. ویرایش View
فایل views.py را باز کنید و کد مربوط به view را به شکل زیر تغییر دهید:
def members(request):
return render(request, "myfirst.html")
در این کد فایل html ای که با اجرای این ویو میخواهیم اجرا شود را معرفی میکنیم.
اگر بار دیگر پروژه را اجرا کرده و به url تعیین شده بروید این بار فایل اچ تی ام ال مشخص شده اجرا میشود.
0 دیدگاه