021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

راهنمای کامل جنگو برای مبتدیان

مقدمه

با سلام خدمت تمامی شما کاربران خوب وبسایت پایتونی ها با یک مقاله آموزشی دیگر در خدمت شما دوستان عزیز و بزرگواران و همران خوب وبسایت پایتونی ها هستیم تا اولین خود آموز جنگو را با شما به اشتراک بگذاریم. این مقاله یک آموزش مصور از سری مقال های آموزش جنگو است.

این مقاله یک راهنمای کامل برای مبتدیان برای شروع یادگیری جنگو است. ما قصد داریم تمام مفاهیم اساسی را با جزئیات زیاد بررسی کنیم، از نصب، آماده سازی محیط توسعه، مدل ها، نماها، قالب ها، URL ها تا موضوعات پیشرفته تر.

این مقاله یک خود آموز بسیار آسان برای شروع یادگیری جنگو است.

در این آموزش سعی کنید مرحله به مرحله پیش رفته و با استفاده از تکنیک آموزش و سبک انجام عملی پیش برویم.

این تکنیک در واقع بیان کننده این موضوع است که فقط به مباحث نگاه نکنید و آن ها را انجام دهید.

 

چرا جنگو؟

جنگو یک چارچوب وب است که به زبان پایتون نوشته شده است. چارچوب وب نرم افزاری است که از توسعه وب سایت ها، برنامه ها و خدمات پویا پشتیبانی می کند. مجموعه ای از ابزارها و عملکردها را ارائه می دهد که بسیاری از مشکلات رایج مرتبط با توسعه وب را حل می کند، مانند ویژگی های امنیتی، دسترسی به پایگاه داده، جلسات، پردازش قالب، مسیریابی URL، بین المللی سازی، محلی سازی و … .

استفاده از چارچوب وب، مانند جنگو، ما را قادر می سازد تا برنامه های کاربردی وب ایمن و قابل اعتماد را خیلی سریع و به روشی استاندارد شده، بدون نیاز به اختراع مجدد چرخ، توسعه دهیم.

اما چه چیز خاصی در مورد جنگو وجود دارد؟

برای شروع، این یک فریم ورک وب پایتون است، به این معنی که شما می توانید از طیف گسترده ای از کتابخانه های منبع باز در آنجا بهره مند شوید. مخزن Python Package Index میزبان بیش از 130 هزار کتابخانه است. اگر نیاز به حل یک مشکل خاص دارید، به احتمال زیاد شخصی قبلاً کتابخانه ای را برای آن پیاده سازی کرده است.

جنگو یکی از محبوب ترین چارچوب های وب است که در پایتون نوشته شده است. قطعاً کامل‌ترین است و طیف گسترده‌ای از ویژگی‌ها را ارائه می‌کند، مانند یک وب سرور مستقل برای توسعه و آزمایش، حافظه پنهان، سیستم میان‌افزار، ORM، موتور قالب، پردازش فرم، رابط با ابزارهای تست واحد پایتون.

برنامه‌های کاربردی داخلی مانند سیستم احراز هویت، یک رابط اداری با صفحات تولید شده به‌طور خودکار برای عملیات CRUD، تولید فیدهای پیوندی (RSS/Atom)، نقشه‌های سایت را ارائه می‌دهد. حتی یک چارچوب سیستم اطلاعات جغرافیایی (GIS) در جنگو ساخته شده است.

توسعه جنگو توسط بنیاد نرم افزار جنگو پشتیبانی می شود و توسط شرکت هایی مانند JetBrains و Instagram حمایت می شود. اکنون بیش از 17 سال است که در حال توسعه فعال است و ثابت می کند که یک فریم ورک وب بالغ، قابل اعتماد و ایمن است.

 

چه کسی از جنگو استفاده می کند؟

خوب است بدانید چه کسی از جنگو استفاده می کند، بنابراین ایده ای داشته باشید که چه کاری می توانید با آن انجام دهید. در میان بزرگترین وب‌سایت‌هایی که از جنگو استفاده می‌کنند، ما داریم: Instagram ، Disqus ، Mozilla ، Bitbucket ، Last.fm ، National Geographic .

برای مثال‌های بیشتر، می‌توانید پایگاه داده سایت‌های جنگو را ببینید ، آنها فهرستی از بیش از 5 هزار وب‌سایت مجهز به جنگو را ارائه می‌دهند.

 

نصب و راه اندازی

اولین کاری که باید انجام دهیم این است که چند برنامه را روی دستگاه خود نصب کنیم تا بتوانیم ساخت پروژه جنگو را شروع کنیم. راه اندازی اولیه شامل نصب Python ، Virtualenv و Django است.

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

هنگام توسعه وب سایت ها یا پروژه های وب با جنگو، نصب کتابخانه های خارجی برای پشتیبانی از توسعه بسیار رایج است. با استفاده از محیط های مجازی، هر پروژه ای که توسعه می دهید، محیط ایزوله خود را خواهد داشت. و به شما امکان می دهد پروژه های خود را که در نسخه های مختلف جنگو اجرا می شوند، حفظ کنید.

 

نصب پایتون 3.6.2

اولین کاری که می خواهیم انجام دهیم این است که آخرین توزیع پایتون را نصب کنیم که Python 3.6.2 است. اگر نسخه جدیدتری وجود دارد، با آن را نصب کنید. مراحل بعدی باید کمابیش ثابت بماند.

ما قصد داریم از Python 3 استفاده کنیم زیرا مهمترین کتابخانه های Python قبلاً به Python 3 منتقل شده اند و همچنین نسخه اصلی بعدی جنگو (2.x) دیگر از Python 2 پشتیبانی نمی کند. بنابراین پایتون 3 راهی برای رفتن است.

به www.python.org بروید ، روی صفحه دانلود Python 3.6.2 کلیک کنید، به پایین بروید تا فایل های دانلود فهرست شده در زیر را مشاهده کنید:

نسخه مناسب را بر اساس توزیع ویندوز خود انتخاب کنید. اگر مطمئن نیستید که کدام یک برای شما مناسب است، به احتمال زیاد می خواهید نسخه نصب کننده اجرایی Windows x86-64 را دانلود کنید .

به دایرکتوری Downloads خود بروید، روی نصب کننده کلیک راست کرده و روی Run as administrator کلیک کنید .

 

اطمینان حاصل کنید که گزینه Add Python 3.6 to PATH را علامت بزنید و روی گزینه Install Now کلیک کنید.

پس از اتمام نصب، باید صفحه زیر را مشاهده کنید:

اکنون برنامه Command Prompt را جستجو کرده و آن را باز کنید:

 

برای آزمایش اینکه آیا تا به حال همه چیز خوب کار می کند، دستور زیر را تایپ کنید:

python --version

به عنوان یک خروجی باید ببینید:

Python 3.6.2

 

عالی است، پایتون راه اندازی شده است.

 

محیط های مجازی!

در حال نصب Virtualenv

برای مرحله بعدی، از pip ، ابزاری برای مدیریت و نصب بسته‌های پایتون، برای نصب virtualenv استفاده می‌کنیم.

در Command Prompt دستور زیر را اجرا کنید:

pip install virtualenv

تا کنون نصب هایی که ما انجام دادیم در سطح سیستم بود. از این به بعد، همه چیزهایی که نصب می کنیم، از جمله خود جنگو، در داخل یک محیط مجازی نصب خواهند شد.

به این شکل فکر کنید: برای هر پروژه جنگو که شروع می کنید، ابتدا یک محیط مجازی برای آن ایجاد می کنید. این مانند داشتن یک جعبه شنی برای هر پروژه جنگو است. بنابراین می‌توانید، بسته‌ها را نصب کنید، بسته‌ها را بدون از دست رفتن چیزی حذف کنید.

من دوست دارم یک پوشه به نام Development در رایانه شخصی خود ایجاد کنم. سپس، من از آن برای سازماندهی تمام پروژه ها و وب سایت هایم استفاده می کنم. اما می‌توانید مراحل بعدی را دنبال کنید تا فهرست‌ها را هر کجا که برای شما مناسب است ایجاد کنید.

معمولا، من با ایجاد یک پوشه جدید با نام پروژه در پوشه توسعه خود شروع می کنم. از آنجایی که این اولین پروژه ما خواهد بود، نیازی به انتخاب نام یا هر چیز دیگری نداریم. در حال حاضر، می توانیم آن را myproject بنامیم .

mkdir myproject
cd myproject

این پوشه دایرکتوری سطح بالاتری است که تمام فایل ها و موارد مربوط به پروژه جنگو ما از جمله محیط مجازی آن را ذخیره می کند.

پس بیایید با ایجاد اولین محیط مجازی و نصب جنگو شروع کنیم.

داخل پوشه myproject :

virtualenv venv

محیط مجازی ما ایجاد شده است. اکنون قبل از شروع استفاده از آن، باید فعال کنیم برای فعال کردن از دستور زیر استفاده کنید :

venv\Scripts\activate

یا

venv\Scripts\activate.bat

 

اگر (venv) را در جلوی خط فرمان ببینید، می‌دانید که کار می‌کند ، مانند این:

بیایید سعی کنیم بفهمیم اینجا چه اتفاقی افتاده است. ما یک پوشه خاص به نام venv ایجاد کردیم . این شامل یک کپی از پایتون در داخل این پوشه است. بعد از اینکه محیط venv را فعال کردیم ، زمانی که pythonدستور را اجرا می کنیم ، از نسخه محلی ما که در داخل venv ذخیره شده است ، به جای دیگری که قبلا نصب کرده بودیم استفاده می کند.

نکته مهم دیگر این است که برنامه pip نیز از قبل نصب شده است و زمانی که از آن برای نصب یک بسته پایتون مانند جنگو استفاده می کنیم، در محیط venv نصب می شود.

به هر حال، برای غیرفعال کردن venv دستور زیر را اجرا کنید:

venv\Scripts\deactivate.bat

اما اجازه دهید آن را برای مراحل بعدی فعال نگه داریم.

 

نصب جنگو 1.11.4

نصب جنگو، حالا که venv را فعال کردیم، دستور زیر را برای نصب جنگو اجرا کنید:

pip install django

خوب مرحله آماده سازی تمام شد !!!

 

ساخت یک پروژه جدید

برای شروع یک پروژه جنگو جدید، دستور زیر را اجرا کنید:

django-admin startproject myproject

ابزار خط فرمان django-admin به طور خودکار با جنگو نصب می شود.

پس از اجرای دستور بالا، ساختار پوشه پایه برای پروژه جنگو را ایجاد می کند.

در حال حاضر، فهرست درختی راهنمای myproject ما به شکل زیر است:

myproject/                  <-- higher level folder
 |-- myproject/             <-- django project folder
 |    |-- myproject/
 |    |    |-- __init__.py
 |    |    |-- settings.py
 |    |    |-- urls.py
 |    |    |-- wsgi.py
 |    +-- manage.py
 +-- venv/                  <-- virtual environment folder

 

ساختار اولیه پروژه ما از پنج فایل تشکیل شده است:

  • manager.py : میانبری برای استفاده از ابزار خط فرمان django-admin . برای اجرای دستورات مدیریت مربوط به پروژه ما استفاده می شود. ما از آن برای اجرای سرور توسعه، اجرای آزمایشات، ایجاد مهاجرت و موارد دیگر استفاده خواهیم کرد.
  • __init__.py : این فایل خالی به پایتون می گوید که این پوشه یک بسته پایتون است.
  • settings.py : این فایل شامل تمام تنظیمات پروژه است. ما همیشه به این فایل مراجعه خواهیم کرد!
  • urls.py : این فایل وظیفه نقشه برداری مسیرها و مسیرهای پروژه ما را بر عهده دارد. برای مثال، اگر می‌خواهید چیزی را در URL نشان /about/دهید، ابتدا باید آن را در اینجا نقشه برداری کنید.
  • wsgi.py : این فایل یک رابط دروازه ساده است که برای استقرار استفاده می شود. شما لازم نیست در مورد آن زحمت بکشید. فقط بذار فعلا باشه

 

جنگو با یک وب سرور ساده نصب شده است. در طول توسعه بسیار راحت است، بنابراین لازم نیست چیز دیگری برای اجرای پروژه به صورت محلی نصب کنیم. با اجرای دستور می توانیم آن را تست کنیم:

python manage.py runserver

اکنون URL زیر را در یک مرورگر وب باز کنید: http://127.0.0.1:8000 و باید صفحه زیر را ببینید:

CTRL + BREAK را فشار دهید تا سرور توسعه متوقف شود.

 

برنامه های جنگو

در فلسفه جنگو دو مفهوم مهم داریم:

  • app : یک برنامه وب است که کاری انجام می دهد. یک برنامه معمولاً از مجموعه ای از مدل ها (جدول پایگاه داده)، نماها، الگوها، آزمایش ها تشکیل شده است.
  • پروژه : مجموعه ای از تنظیمات و برنامه ها است. یک پروژه می تواند از چندین برنامه یا یک برنامه واحد تشکیل شده باشد.

توجه به این نکته مهم است که نمی‌توانید برنامه جنگو را بدون پروژه اجرا کنید. وب‌سایت‌های ساده مانند وبلاگ را می‌توان به طور کامل در یک برنامه نوشت که می‌توان آن را به عنوان مثال  وبلاگ نامید .

 

این راهی برای سازماندهی کد است. در ابتدا، تعیین اینکه یک اپلیکیشن چیست یا چه چیزی نیست، چندان پیش پا افتاده نیست.

بسیار خوب تا اینجا متوجه خیلی چیز ها شدیم! برای ایجاد اولین برنامه خود، به دایرکتوری که فایل manager.py در آن قرار دارد بروید و دستور زیر را اجرا کنید:

django-admin startapp boards

توجه داشته باشید که این بار از دستور startapp استفاده کردیم .

این ساختار دایرکتوری زیر را به ما می دهد:

myproject/
 |-- myproject/
 |    |-- boards/                <-- our new django app!
 |    |    |-- migrations/
 |    |    |    +-- __init__.py
 |    |    |-- __init__.py
 |    |    |-- admin.py
 |    |    |-- apps.py
 |    |    |-- models.py
 |    |    |-- tests.py
 |    |    +-- views.py
 |    |-- myproject/
 |    |    |-- __init__.py
 |    |    |-- settings.py
 |    |    |-- urls.py
 |    |    |-- wsgi.py
 |    +-- manage.py
 +-- venv/

بنابراین، اجازه دهید ابتدا بررسی کنیم که هر فایل چه کاری انجام می دهد:

  • migrations/ : در اینجا جنگو چند فایل را ذخیره می کند تا تغییراتی که در فایلmodels.py ایجاد می کنید را پیگیری کند تا پایگاه داده و models.py همگام سازی شوند.
  • admin.py : این یک فایل پیکربندی برای یک برنامه داخلی جنگو به نام Django Admin است.
  • apps.py : این فایل پیکربندی خود برنامه است.
  • models.py : اینجا جایی است که ما موجودیت های برنامه وب خود را تعریف می کنیم. مدل ها به طور خودکار توسط جنگو به جداول پایگاه داده ترجمه می شوند.
  • tests.py : این فایل برای نوشتن تست نویسی برنامه استفاده می شود.
  • views.py : این فایلی است که در آن چرخه درخواست/پاسخ برنامه وب خود را مدیریت می کنیم.

اکنون که اولین برنامه خود را ایجاد کردیم، بیایید پروژه خود را برای استفاده از آن پیکربندی کنیم.

برای انجام این کار، settings.py را باز کنید و سعی کنید INSTALLED_APPSمتغیر را پیدا کنید:

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

 

همانطور که می بینید، جنگو در حال حاضر با 6 برنامه داخلی نصب شده است. آنها عملکردهای رایجی را ارائه می دهند که اکثر برنامه های کاربردی وب به آن نیاز دارند، مانند احراز هویت، جلسات، مدیریت فایل های ثابت (تصاویر، جاوا اسکریپت، css و غیره) و غیره.

با پیشرفت در این مجموعه آموزشی، آن برنامه ها را بررسی خواهیم کرد. اما در حال حاضر، اجازه دهید آنها باشند و فقط برنامه تابلوهای ما را به لیست موارد زیر اضافه کنید INSTALLED_APPS:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'boards', #اپلیکیشن جدید
]

 

ساخت اولین اپلیکیشن Hello World!

برای ساخت اولین اپلیکیشن خود کافی است فقط مراحل زیر را طی کنید.

فایل views.py را در داخل برنامه boards باز کنید و کد زیر را اضافه کنید:

views.py

from django.http import HttpResponse

def home(request):
    return HttpResponse('Hello, World!')

View ها توابع پایتونی هستند که یک شی را دریافت می کنند و یک HttpRequestشی را برمی گرداند HttpResponse. یک درخواست را به عنوان یک پارامتر دریافت کنید و در نتیجه یک پاسخ را برمی گرداند. این جریانی است که باید در نظر داشته باشید!

بنابراین، در اینجا ما یک نمای ساده به نام خانه تعریف کردیم که به سادگی یک پیام با عنوان Hello, World! .

حالا باید به جانگو بگوییم چه زمانی این view را در خدمت قرار دهیم. در داخل فایل urls.py انجام می شود:

urls.py

from django.conf.urls import url
from django.contrib import admin

from boards import views

urlpatterns = [
    url(r'^$', views.home, name='home'),
    url(r'^admin/', admin.site.urls),
]

 

اگر قطعه بالا را با فایل urls.py خود مقایسه کنید، متوجه خواهید شد که من خط جدید زیر را اضافه کردم: url(r'^$', views.home, name='home')و ماژول views را با استفاده از بردهایfrom boards import views برنامه ما وارد کردم .

همانطور که قبلاً اشاره کردم، بعداً این مفاهیم را با جزئیات زیاد بررسی خواهیم کرد.

در حال حاضر، جنگو با regex کار می کند، با URL درخواستی مطابقت داشته باشد. برای نمای HomePage ، من از ^$regex استفاده می‌کنم که با یک مسیر خالی که صفحه اصلی است (این آدرس: http://127.0.0.1:8000 ) مطابقت دارد.

اگر بخواهم URL http://127.0.0.1:8000/homepage/ را مطابقت دهم، آدرس اینترنتی من به این شکل باید نوشته:

url(r'^homepage/$', views.home, name='home')

 

خروجی :

python manage.py runserver

 

در یک مرورگر وب، آدرس http://127.0.0.1:8000 را باز کنید:

خوب به شما تبریک میگیم شما اولین پروژه خودتان را ایجاد کردید! حالا می توانید این پروژه را توسعه دهید.

 

جمع بندی نهایی

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

امیدوارم از قسمت اول لذت برده باشید!

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

مطالب پرمخاطب پایتونی ها

Django logo

جنگو (Django) چیست؟

3
دقیـقه مطالعه
ادامه ...

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2