برای شروع یک پوشه با نام 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
یک فایل پایتون است که به شما اجازه می دهد از طریق خط فرمان از راه های مختلف پروژه خود را مدیریت کنید. به عنوان مثال با دستور زیر می توانید پروژه را اجرا کنید
در لینوکس
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("blog.urls")),
]
در ادامه درون فایل views.py در پوشه blog شروع یه ساخت یک ویو می کنیم که در ساده ترین حالت یک تابع به صورت زیر است
from django.shortcuts import render
from django.urls import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("Hello, World!")
یک تابع ساختیم و request را به آن پاس دادیم و سپس HttpResponse را ایمپورت و با استفاده از آن عبارت Hello world را return کردیم. در آخرین قدم در فایل urls.py که در همین پوشه ایجاد کردیم به صورت زیر یک route را به این ویو اختصاص می دهیم
from django.url import path
from .views import index
urlpatterns = [
path("", index, name="index"),
]
تبریک!، شما اولین ویو خود را در جنگو ساختین
با اجرای پروژه با استفاده از دستور runserver و رفتن به localhost:8000/blog عبارت Hello, World را مشاهده می کنیم.