امروزه یکی از محبوبترین فریمورکهای پایتون برای نوشتن برنامههای کاربردی وب میتوان به جنگو اشاره کرد. برنامه نویسان با استفاده از Django توانستهاند برنامههای کاربردی سریعتری را به وجود آورند بدون آنکه مجبور شوند مجدد چرخ را از ابتدا اختراع کنند. در ادامه آموزش نصب Django روی centos 7 را به شما آموزش دادهایم. به این نکته توجه داشته باشید درصورتیکه شما قصد نصب جنگو را بر روی سرورهای ابری هدف نت و یا سیستمعامل centos 7 را دارید بهتر است بدانید روشهای مختلفی برای نصب وجود دارد که شما میتوانید یکی از آن را انتخاب کرده و به نصب جنگو بپردازید.
اگر قصد خرید هاست لینوکس را دارید می توانید به صفحه هاست لینوکس استاندارد مراجعه کنید.
چگونگی نصب فریمورک Django روی Cenots7
قبل از آنکه شروع به نصب کنید باید با استفاده از دستورات زیر پایتون 3 را نصب کنید:
sudo yum install centos-release-scl
sudo yum install rh-python36
همانطور که در بالاتر به این موضوع اشاره کردیم برای آموزش نصب Django روی centos 7 روشهای مختلفی به وجود آمده است. در ادامه ما قصد دارید جنگو را در محیط مجازی و یا Virtual Environment برای شما نصب کنید. برای این کار تنها کافی است با دقت مراحل زیر را به ترتیب انجام دهید.
در ابتدا به مسیری بروید که قصد دارید Django در آن نصب شود. در این مقاله ما قصد دارید مسیر نصب جنگو را /root در نظر بگیریم. دستور زیر به شما برای انجام نصب کمک میکند:
cd
mkdir my_django_app
cd my_django_app
شما برای آنکه بتوانید به پایتون 3.6 دسترسی داشته باشید؛ باید یک shell جدیدی را با استفاده از ابزار scl راهاندازی کنید:
scl enable rh-python36 bash
شما باید دستور زیر را برای ایجاد یک محیط مجازی جدید به اجرا در بیاورید:
python3 -m venv venv
دستوری که در بالاتر برای شما آوردهایم یک دایرکتوری به نام venv برای شما ایجاد خواهد کرد. این دایرکتوری در حقیقت یک کپی از فایل باینری پایتون، Pip package manager، کتابخانه استاندارد پایتون و دیگر فایلهای پشتیبانیکننده را در بر دارد. لازم به ذکر است شما میتوانید هر نامی که دوست داشته باشید را به این محیط مجازی اختصاص دهید. برای شروع استفاده از این محیط باید آن را با اجرای اسکریپت زیر فعال کنید:
source venv/bin/activate
بعد از فعال شدن محیط مجازی و یا همان Virtual Environment؛ نام محیط مجازی که در این قسمت ما آن را venv گذاشتهایم به ابتدای خط فرمان shell اضافه خواهد شد:
(venv) [root@server my_django_app]#
حال نوبت به نصب Django میرسد:
pip install Django
به این نکته توجه داشته باشید در این محیط شما میتوانید از دستور pip بهجای pip3 استفاده کنید؛ همچنین میتوانید بهجای python3 از python استفاده کنید. برای تأیید شدن نصب شما باید از دستور زیر استفاده کنید تا نسخه جنگو نشان داده شود:
python -m django –version
برای تست این امر بهتر است یک پروژه جنگو را برای خود ایجاد کنید. برای راحتتر شدن کار میتوانید از دستور زیر استفاده کنید و کار را برای خودتان سادهتر کنید:
django-admin startproject mydjangoapp
با استفاده از دستور بالا شما یک پوشه mydjangoapp در مسیر جاری ایجاد کردهاید.
tree mydjangoapp/
خروجی دستوران باید مشابه و همانند اطلاعات زیر باشد:
mydjangoapp/
|– manage.py
`– mydjangoapp
|– __init__.py
|– settings.py
|– urls.py
`– wsgi.py
در ادامه این مسیر، اسکریپت اصلی برای مدیریت پروژههای اصلی به نام manager.py وجود دارد و یک مسیر دیگر نیز ازجمله پیکربندی پایگاه داده و جنگو و تنظیمات مربوط به آن نیز به وجود آمده است. حال نوبت به انتقال دیتابیس و ایجاد یک کاربر admin میرسد.
آموزش ساخت دیتابیس و کاربر ادمین در فرایند نصب Django در Centos7
در این آموزش کار با رفتن به مسیر mydjangoapp شروع خواهد شد:
cd mydjangoapp
به این نکته توجه داشته باشید Django بهصورت پیشفرض از دیتابیس SQLite استفاده میکند. شما در این راه میتوانید از دیتابیسهایی اعم از PostgreSQL، MariaDB، Oracle یا MySQL Database نیز استفاده کنید. علاوه بر این موضوع جنگو دارای دیتابیس مختص به خود میباشد و هیچ نوع اختلالی در سرویسهای دیتابیس دیگر برای برنامه نویسان ایجاد نخواهد کرد.
برای آنکه بتوانید انتقال پایگاه داده را انجام دهید دستور زیر را به اجرا در بیاورید:
python manage.py migrate
با به اجرا درآوردن دستور بالا، باید خروجیهایی مانند خروجیهای زیر برای شما به وجود آید:
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 admin interface بهرهمند شوید باید بعد از انتقال دیتابیس یک کاربرد ادمین نیز به وجود آورید. دستورات زیر به شما برای این عمل کمک خواهند کرد:
python manage.py createsuperuser
دستور بالا از شما نام کاربری، رمز عبور و آدرس ایمیل برای کاربر مدیر را درخواست خواهد کرد که شما باید با توجه به اطلاعات موردنظر آنها را کامل کنید. درست همانند اطلاعات زیر:
Username (leave blank to use ‘linuxize’): admin
Email address: admin@linuxize.com
Password:
Password (again):
Superuser created successfully.
تست و آزمایش آموزش نصب Django روی centos 7
برای تست و آزمایش Django باید سرور development را با استفاده از management.py و با استفاده از گزینه runserver استارت کنید:
python manage.py runserver 0.0.0.0:8000
برای آنکه بتوانید تنظیمات دامنه را با انجام دهید نیز باید از دستور مشابه زیر استفاده کنید:
python manage.py runserver example.com:8000
بعد از به اجرا درآوردن کدهای بالا باید به شما خروجیهای زیر نشان داده شود:
Performing system checks…
System check identified no issues (0 silenced).
October 20, 2018 – 11:16:28
Django version 2.1.2, using settings ‘mydjangoapp.settings’
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
درصورتیکه شما Django را بر روی ماشین مجازی نصب کردهاید و قصد دارید به Django development server دسترسی داشته باشید؛ باید به سراغ ویرایش فایل settings.py بروید و آدرس IP را به لیست ALLOWED_HOSTS اضافه کنید. به دستور زیر دقت کنید:
ALLOWED_HOSTS = [‘1.2.3.4’]
شما باید بهجای 1.2.3.4 باید IP سرور خود را بنویسید. درصورتیکه شما قصد دارید جنگو را بر روی دامنه deploy قرار دهید، خط فوق را بهصورت زیر باید اصلاح کنید:
ALLOWED_HOSTS = [‘1.2.3.4’,’example.com’]
و یا:
ALLOWED_HOSTS = [‘1.2.3.4’,’example.com’,’ww.example.com’]
بعد از اجرا کردن کدهای بالا باید فایل را ذخیره کنید.
سخن آخر
راهاندازی برنامههایی که از قبل نوشته شدهاند بر روی سرور اصلی و یا Deployment یکی از چالشبرانگیزترین کار برای برنامه نویسان به شمار میرود. برنامه نویسان برای این امر از جنگو کمک گرفتهاند و تا حدودی کار را برای خود آسان کردهاند.