احمد سراجی
احمد سراجی
خواندن ۴ دقیقه·۳ سال پیش

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

ایجاد پروژه

برای شروع یک پوشه با نام myproject می سازیم که فایل های پروژه در آن قرار می گیرد. اولین مورد در شروع کار با جنگو ساخت یک محیط مجازی یا virtual environment است. محیط مجازی ابزاری است که به ما کمک می کند تا وابستگی های پروژه های مختلف پایتون را به صورت مجزا از هم نگهداری کنیم.

نصب محیط مجازی در لینوکس با استفاده از pip

python3 -m pip install --user virtualenv

نصب محیط مجازی در ویندوز با استفاده از pip

py -m pip install --user virtualenv

بعد از نصب محیط مجازی ترمینال را در مسیر پوشه myproject باز میکنیم و به صورت زیر یک محیط مجازی می سازیم

نحوه ساخت محیط مجازی
نحوه ساخت محیط مجازی

سپس باید این محیط مجازی را فعال کنیم.

فعال سازی محیط مجازی در ویندوز

venv\Scripts\activate

فعال سازی محیط مجازی در لینوکس

source venv/bin/activate

حال درون محیط مجازی به نصب ابزار های مورد نیاز می پردازیم


نصب جنگو در لینوکس و مک با استفاده از pip

python -m pip install Django

نصب جنگو در ویندوز با استفاده از pip

py -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.py
  • manage.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 makemigrations
python manage.py migrate

در ویندوز

py manage.py makemigrations
py manage.py migrate

در پوشه blog یک فایل با نام urls.py می سازیم که وظیفه مدیریت url های هر ا‍پ و نمایش ویو های مربوط با هر url را دارد اما ابتدا این فایل را در فایل urls.py اصلی پروژه که در پوشه config قرار دارد include کنیم. محتویات فایل urls.py l موجود در پوشه config به صورت زیر است

from django.contrib import admin
from django.urls import path
urlpatterns = [
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 render
from 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 path
from .views import index
urlpatterns = [
path(&quot&quot, index, name=&quotindex&quot),
]

تبریک!، شما اولین ویو خود را در جنگو ساختین

با اجرای پروژه با استفاده از دستور runserver و رفتن به localhost:8000/blog عبارت Hello, World را مشاهده می کنیم.

pythondjangoپایتونجنگوبرنامه_نویسی
علاقه مند به حوزه برنامه نویسی به ویژه برنامه نویسی وب
شاید از این پست‌ها خوشتان بیاید