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

۱۷ بهمن ۱۴۰۳
0 دیدگاه

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 را باز کنید و کد زیر را در آن قرار دهید:

				
					<!DOCTYPE html>
<html>
<body>

<h1>Hello World!</h1>
<p>Welcome to my first Django project!</p>

</body>
</html>

				
			

۳. ویرایش View

فایل views.py را باز کنید و کد مربوط به view را به شکل زیر تغییر دهید:

				
					def members(request):
    return render(request, "myfirst.html")
				
			

در این کد فایل html ای که با اجرای این ویو می‌خواهیم اجرا شود را معرفی می‌کنیم.
اگر بار دیگر پروژه را اجرا کرده و به url  تعیین شده بروید این بار فایل اچ تی ام ال مشخص شده اجرا می‌شود.

0 دیدگاه