ساخت اولین ویو در جنگو

ایجاد پروژه برای شروع یک پوشه با نام myproject می سازیم که فایل های پروژه در آن قرار می گیرد. اولین مورد در شروع کار با جنگو ساخت یک محیط مجازی یا virtual environment است. محیط مجازی ابزاری است که به ما کمک می کند تا وابستگی های پروژه های مختلف پایتون را به صورت مجزا از هم نگهداری کنیم. نصب محیط مجازی در لینوکس با استفاده از pippython3 -m pip install --user virtualenvنصب محیط مجازی در ویندوز با استفاده از pippy -m pip install --user virtualenvبعد از نصب محیط مجازی ترمینال را در مسیر پوشه myproject باز میکنیم و به صورت زیر یک محیط مجازی می سازیمنحوه ساخت محیط مجازی سپس باید این محیط مجازی را فعال کنیم. فعال سازی محیط مجازی در ویندوزvenv\Scripts\activateفعال سازی محیط مجازی در لینوکسsource venv/bin/activateحال درون محیط مجازی به نصب ابزار های مورد نیاز می پردازیم نصب جنگو در لینوکس و مک با استفاده از pippython -m pip install Djangoنصب جنگو در ویندوز با استفاده از pippy -m pip install Djangoسپس اولین پروژه خود را با استفاده از فرمان زیر ایجاد کنیمdjango-admin startproject config .یک پروژه با نام config با استفاده از دستور بالا ساختیم. اگر با دستور ls محتویات پوشه myproject را بگیریم مشاهده می کنیم که پوشه ای به نام config و یک فایل با نام manage.py در کنار venv که پوشه محیط مجازی ما است؛ اضافه شده اند. ساختار پوشه config به صورت زیر استmyproject/ manage.py config/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.pyیک فایل پایتون است که به شما اجازه می دهد از طریق خط فرمان از راه های مختلف پروژه خود را مدیریت کنید. به عنوان مثال با دستور زیر می توانید پروژه را اجرا کنیددر لینوکسpython manage.py runserverدر ویندوزpy manage.py runserver اگر بعد از اجرای فرمان بالا به آدرس لوکال هاست سیستم خود و روی پورت ۸۰۰۰ به صورت localhost:8000 در مرورگر مراجعه کنید با صفحه زیر روبرو خواهید شد.ساخت اولین اپ و ویوبرای ساختن یک اپ جدید در پروژه از فرمان زیر استفاده می کنیمدر لینوکسpython manage.py startapp blogدر ویندوزpy manage.py startapp blogبا استفاده از فرمان بالا یک ا\ به نام blog ساختیم که به ساختار پروژه یک پوشه به نام blog با محتویات آن به صورت زیر اضافه شده است.blog/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.pyابتدا باید این اپ را به پروژه اضافه کنیم. برای این منظور در پوشه config وارد فایل settings شده و درون این فایل در INSTALED APP که یک لیست پایتونی است اپ blog را به صورت زیر اضافه می کنیمINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog.apps.BlogConfig',]مرحله بعدی انجام makemigration و migrate است که باعث ثبت مدل های ایجاد شده یا تغییرات آنها در schema دیتابیس می شود. اما در ابتدای ایجاد هر پروژه نیاز است که این دستورات اجرا شود.در لینوکسpython manage.py makemigrationspython manage.py migrateدر ویندوزpy manage.py makemigrationspy manage.py migrateدر پوشه blog یک فایل با نام urls.py می سازیم که وظیفه مدیریت url های هر ا‍پ و نمایش ویو های مربوط با هر url را دارد اما ابتدا این فایل را در فایل urls.py اصلی پروژه که در پوشه config قرار دارد include کنیم. محتویات فایل urls.py l موجود در پوشه config به صورت زیر استfrom django.contrib import adminfrom django.urls import pathurlpatterns = [ path('admin/', admin.site.urls),]مشاهده می شود که از django.urls فقط path ایمپورت شده است اما نیاز است که include را نیز از همین مسیر امپورت کنیم به صورت from django.urls import path, includeسپس به لیست urlpatterns که از قبل url های ‍پنل ادمین در آن ثبت شده است یک path جدید برای url های اپ blog اضافه می کنیم urlpatterns = [ path('admin/', admin.site.urls), path('blog/', indclude(&quotblog.urls&quot)),]در ادامه درون فایل views.py در ‍پوشه blog شروع یه ساخت یک ویو می کنیم که در ساده ترین حالت یک تابع به صورت زیر است from django.shortcuts import renderfrom django.urls import HttpResponse# Create your views here.def index(request): return HttpResponse(&quotHello, World!&quot)یک تابع ساختیم و request را به آن پاس دادیم و سپس HttpResponse را ایمپورت و با استفاده از آن عبارت Hello world را return کردیم. در آخرین قدم در فایل urls.py که در همین پوشه ایجاد کردیم به صورت زیر یک route را به این ویو اختصاص می دهیمfrom django.url import pathfrom .views import index urlpatterns = [ path(&quot&quot, index, name=&quotindex&quot),]تبریک!، شما اولین ویو خود را در جنگو ساختینبا اجرای پروژه با استفاده از دستور runserver و رفتن به localhost:8000/blog عبارت Hello, World را مشاهده می کنیم.