نحوه نصب Django Web Framework روی Ubuntu 18.04

آموزش نصب و راه اندازی Django روی Ubuntu 18.04

مقدمه

آشنایی با نحوه نصب و راه اندازی Django روی Ubuntu 18.04 برای علاقه‌مندان به زبان برنامه‌نویسی محبوب پایتون بسیار ضروری است. جنگو یا جانگو (Django) یک فریم ورک وب کامل برای توسعه وب‌سایت‌ها و برنامه‌های کاربردی پویا است که بر پایه زبان برنامه‌نویسی پایتون نوشته شده‌است.

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

در این مقاله آموزش نصب و راه اندازی Django روی Ubuntu 18.04 ارائه شده است. اوبونتو (Ubuntu) یک توزیع کاربرپسند لینوکس است که از همان روزهای آغازین انتشارش مورد توجه قرار گرفته است. با توجه به اینکه نسخه 20.04 اوبونتو عرضه شده است، آموزش راه‌اندازی اولیه سرور با اوبونتو 20.04 در سایت کلادینو ارائه شده است در صورت تمایل این آموزش را دنبال کنید.

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

روش‌های مختلفی برای نصب فریم ورک وب جنگو (Django) روی Ubuntu 18.04 وجود دارند که کاربران با توجه به نیاز خود می‌توانند گزینه‌ای که پاسخگوی نیاز آن‌ها است را انتخاب کنند.

پیش نیازهای نصب فریم ورک وب جنگو (Django) روی Ubuntu 18.04

قبل از این که نصب و راه اندازی Django روی Ubuntu 18.04 را آغاز کنید باید یک نام کاربری non-root با دسترسی‌های sudo در اختیار داشته باشید. برای این‌کار مقاله آموزشی راه‌اندازی سرور با Ubuntu 18.04 را مطالعه نمایید.

نصب فریم ورک وب جنگو (Django) روی Ubuntu 18.04 از طریق پکیج‌های جهانی

نسخه‌های اصلی اوبونتو دارای پکیج‌های Django نیز هستند و با مدیریت apt package می‌توانید آن را نصب کنید.

اگر چه انعطاف‌پذیری روش‌های دیگر نسبت به استفاده از پکیج‌های آماده بیشتر است، اما این روش نصب ساده‌ترین راه برای استفاده از Django در بستر اوبونتو نسخه 18.04 می‌باشد.

در قدم اول باید index پکیج محلی خود را با apt آپدیت کنید.

$ sudo apt update 

در قدم بعدی باید نسخه پایتون نصب شده بر روی سیستم خود را چک کنید. Ubuntu 18.04 به صورت پیش فرض با نسخه Python 3.6 همراه است. با تایپ دستور زیر، این مرحله تایید شده و وارد مرحله بعدی می‌شوید.

$ python3 -V 

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

Output
Python 3.6.5

در این مرحله از نصب باید جنگو را نصب کنید.

$ sudo apt install python3-django 

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

$ django-admin --version 
Output
1.11.11

نمایش خروجی فوق به معنی این است که فریم ورک جنگو با موفقیت نصب شده است. همچنین ممکن است توجه داشته باشید که نسخه Django جدیدترین نسخه پایدار نیست.

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

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

انعطاف‌پذیرترین روش نصب فریم ورک وب جنگو (Django) روی Ubuntu 18.04، استفاده از یک محیط مجازی است. در ادامه، روش نصب جنگو در یک محیط مجازی را با استفاده از ماژول venv که بخشی از کتابخانه استاندارد Python 3 است را آموزش می‌دهیم.

در این روش شما می‌توانید بسته‌های Python را بدون این که با دیگر نرم‌افزارها تداخل داشته باشند روی سیستم نصب کرده و نام گذاری کنید.

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

$ sudo apt update 

ورژن نسخه پایتون نصب شده را بررسی کنید.

$ python3 -V 

در این مرحله باید pip را از منابع Ubuntu نصب کنید.

$ sudo apt install python3-pip

پس از این که pip روی سیستم نصب شد، می‌توانید از آن برای نصب venv package استفاده کنید.

$ sudo apt install python3-venv 

اکنون هر زمان که بخواهید یک پروژه جدید را شروع کنید، می‌توانید برای آن یک محیط مجازی ایجاد نمایید. با ایجاد محیط مجازی و جا‌به‌جا کردن به منبع پروژه جدید، آغاز کنید.

$ mkdir ~/newproject
$ cd ~/newproject

سپس، باید درون دایرکتوری پروژه یک محیط مجازی را با استفاده از دستورات پایتونی که با ورژن پایتون شما سازگار است، ایجاد نمایید. در اینجا، میحط مجازی my_env نام‌گذاری شده‌است.

$ python3.6 -m venv my_env

دستور فوق، نسخه‌های مستقل Python را نصب می‌کند و pip را به یک ساختار پوشه جدا شده در منبغ پروژه شما دانلود می‌نماید. یک منبع با نامی که شما انتخاب می‌کنید، ایجاد می‌شود، که سلسله مراتب پرونده را در جایی که بسته‌های شما نصب می‌شود، نگه می‌دارد.

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

$ source my_env/bin/activate

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

(my_env)username@hostname:~/newproject$

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

(my_env) $ pip install Django

سپس می‌توانید نصب جنگو را با تایپ دستور زیر تایید کنید.

(my_env) $ django-admin –version
Output
2.1

توجه به این نکته ضروری به نظر می‌رسد که نسخه نصب شده ممکن است با نسخه‌ای که در تصویر وجود دارد متفاوت باشد.

برای خروج از محیط مجازی لازم است که دستور deactivate را صادر کنید.

(my_env) $ Deactivate

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

$ cd ~/newproject
$ source my_env/bin/activate

نصب نسخه پیشرفته با Git

سومین روش نصب فریم ورک وب جنگو (Django) روی Ubuntu 18.04، استفاده از گیت (Git) است. اگر به نسخه توسعه یافته و پیشرفته جنگو نیاز دارید، به شما پیشنهاد می‌کنیم این فریم ورک را از Git دانلود کرده و نصب نمایید. در ادامه مراحل انجام این کار آموزش داده شده است.

در مرحله اول، local package index را آپدیت نمایید.

$ sudo apt update

ورژن پایتون نصب شده را بررسی کنید.

$ python3 –V
Output
Python 3.6.5

pip را از مخزن اصلی نصب کنید.

$ sudo apt install python3-pip

بستهvenv را برای ایجاد یک محیط مجازی نصب کنید.

$ sudo apt install python3-venv

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

به همین دلیل است که آن را انتخاب کرده‌ایم. شما می‌توانید منابع یاد شده را در دایرکتوری با نام ~/django-dev درون سیستم خودتان شبیه‌سازی کنید.

$ git clone git://github.com/django/django ~/django-dev

حال برای تغییر دایرکتوری باید دستور زیر را تایپ کنید.

$ cd ~/django-dev

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

$ python3.6 -m venv my_env

برای فعال‌سازی آن، دستور زیر را تایپ کنید.

$ source my_env/bin/activate

اکنون با استفاده از pip می‌توانید منابع را نصب کنید. با وجود حرف –e قبل از آدرس حالت editable، که هنگام نصب از کنترل ورژن احتیاج است، نصب خواهد شد.

(my_env) $ pip install -e ~/django-dev

با تایپ دستور زیر، می‌توانید از این که نصب موفقیت آمیز بوده یا خیر اطمینان حاصل نمایید.

$ django-admin --version
Output
2.2.dev20180802155335

اینک آخرین ورژن جنگو را در محیط مجازی خود نصب شده دارید.

ایجاد یک پروژه نمونه

پس از پایان نصب و راه اندازی Django روی Ubuntu 18.04 ، می‌توانید یک پروژه نمونه ایجاد نمایید تا از کامل شدن مراحل نصب و درست کار کردن فریم ورک اطمینان حاصل نمایید. در ادامه، مراحل ایجاد یک پروژه نمونه مورد بررسی قرار گرفته است.

در مرحله اول باید یک دایرکتوری برای پروژه خود ایجاد کرده و آن را تغییر دهید.

$ mkdir ~/django-test
$ cd ~/django-test

سپس، محیط مجازی خود را ایجاد کنید.

$ python3.6 -m venv my_env

محیط ایجاد شده را فعال کنید.

$ source my_env/bin/activate

جنگو را نصب کنید.

(my_env) $ pip install Django

در این مرحله از نصب فریم ورک وب جنگو (Django) روی Ubuntu 18.04، با استفاده از django-admin و تایپ دستور startproject، می‌توانید پروژه جدید خودتان را ایجاد نمایید. ما نام djangoproject را برای پروژه انتخاب کرده‌ایم، اما شما می‌توانید نام دیگری در مرحله startproject برای پروژه خودتان انتخاب نمایید.

در اینجا یک اسکریپت مدیریتی با نام manage.py وجود دارد که با کمک آن می‌توانید وظیفه‌های خاص جنگو را مدیریت کنید. همچنین یک دایرکتوری (دقیقا با نام خود پروژه) که دارای کدهای پروژه می‌باشد، وجود دارد.

با این حال، برای جلوگیری از داشتن دایرکتوری‌های تو در تو بسیار زیاد، اجازه دهید به جنگو بگوییم که اسکریپت مدیریت و فهرست داخلی را در فهرست موجود قرار دهد (به نقطه آخر دستور توجه کنید):

(my_env) $ django-admin startproject djangoproject .

برای مهاجرت به یک پایگاه‌داده مانند پایگاه‌داده SQLite،  از دستور migrate به همراه manage.py استفاده کنید. با این دستور شما می‌توانید تمام تغییراتی که در Django model ها ایجاد کرده‌اید را در پایگاه‌داده اعمال کنید.

برای مهاجرت به پایگاه‌داده، کافی است دستور زیرا را تایپ کنید.

(my_env) $ python manage.py migrate

پس از آن، خروجی دستور به صورت زیر خواهد بود.

Output
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

در نهایت در این مرحله از نصب فریم ورک وب جنگو (Django) روی Ubuntu 18.04، باید یک administrative user ایجاد کنید تا بتوانید از رابط کاربری Django admin استفاده کنید. ما در اینجا با کمک دستور createsuperuser این کار را انجام داده‌ایم.

(my_env) $ python manage.py createsuperuser

شما باید یک نام کاربری (username)، یک آدرس ایمیل (email address) و یک رمز عبور (password) برای کاربر (user) خود داشته باشید.

اصلاح کردن ALLOWED_HOSTS در Django Settings

در این مرحله از نصب فریم ورک وب جنگو (Django) روی Ubuntu 18.04، باید application خود را تست کنید. برای این تست باید یکی از دستورالعمل‌ها را در Django settings تغییر دهید.

برای باز کردن فایل settings دستور زیر را تایپ کنید.

(my_env) $ nano ~/django-test/djangoproject/settings.py

در این مرحله درون بخشنامه ALLOWED_HOSTS، لیستی از آدرس‌ها و نام دامنه‌هایی که برای اتصال به یک نمونه Django استفاده می‌شوند را وارد کرده و آن‌ها را با ویرگول از هم جدا کنید.

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

در براکت‌های مربعی، آدرس‌های IP یا نام دامنه‌هایی را که به سرور Django شما مرتبط هستند، لیست کنید. هر مورد باید در نقل قول ذکر شود، با ورودی‌های جداگانه با ویرگول از هم جدا شوند. اگر درخواست‌هایی می‌خواهید برای یک دامنه کامل و هر زیر دامنه، یک دوره را تا برای شروع وروود اضافه کنید.

~/django-test/djangoproject/settings.py
. . .
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

پس از اتمام کار، فایل را ذخیره کرده و از ویرایشگر خارج شوید.

تست سرور پیشرفته

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

قبل از امتحان سرور اطمینان حاصل کنید که پورت مناسب فایروال شما باز است. اگر از راهنمای UFW استفاده می‌کنید با تایپ دستور زیر می‌توانید پورت 8000 را باز کنید.

(my_env) $ sudo ufw allow 8000

با تایپ دستور زیر، سرور پیشرفته را راه‌اندازی کنید.

(my_env) $ python manage.py runserver your_server_ip:8000

در این مرحله، می‌توانید با تایپ دستور زیر  IP address سرورتان را در مرورگر ببینید.

http://your_server_ip:8000	

حال باید تصویر مشابه شکل زیر را مشاهده کنید.

تصویر صفحه اول django
تصویر صفحه اول django

برای دسترسی به رابط admin، /admin/ را در آخر URL خود اضافه نمایید.

http://your_server_ip:8000/admin/	

پس از ورود کد بالا، وارد صفحه log in خواهید شد.

تصویر صفحه ورود به سیستم
تصویر صفحه ورود به سیستم

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

صفحه تنظیمات
صفحه تنظیمات

برای کسب اطلاعات بیشتر در مورد کارکردن با رابط مدیریت جنگو، به “چگونه می‌توان رابط کاربری جنگو را فعال و وصل کرد.” مراجعه نمایید.

هنگامی که به جستجوی سایت پیش فرض رسیدید، می‌توانید با وارد کردن CTRL-C در ترمینال خود، سرور توسعه را متوقف کنید.

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

اکنون باید Django را بر روی سرور Ubuntu 18.04 خود نصب کرده و ابزار اصلی مورد نیاز برای ایجاد برنامه‌های وب قدرتمند را تهیه کنید.

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

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

حال دیگر شما Django را بر روی سیستم عامل خود داشته و می‌توانید برنامه‌های خاص خود را بهتر و راحت‌تر از همیشه توسعه دهید. این کار ضمن افزایش سرعت توسعه باعث خواهد شد تا تمرکز بیشتری را بر روی ویژگی‌های خاص برنامه خود داشته باشید. پس پیش به سوی توسعه یک اپلیکیشن عالی!

منبع:

https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-18-04