جنگو چیست ؟ آموزش نصب django

جنگو چیست ؟ آموزش نصب django
به این مقاله چند ستاره میدی؟
0 / 5 امتیاز: 5 رای 3

امتیاز شما به این مطلب:

فهرست عناوین :
قبل از آموزش نصب جنگو باید توضیح دهیم که جنگو یک چارچوب توسعه وب پایتونی است که به برنامه‌ نویسان فرصتی فراهم میکند تا وب‌سایت‌ها و برنامه‌های وب پیچیده را با سرعت و کارآیی بالا ایجاد کنند. با معماری مدل-ویو-کنترلر (MVC)، جنگو به شما ابزارها و قابلیت‌هایی ارائه می‌دهد که به سرعت برنامه‌های وب خود را طراحی، پیاده‌سازی، و مدیریت کنید.

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

آماده هستید؟ بیایید با ما همراه شوید و به عالم توسعه وب با جنگو وارد شوید.

Django چیست ؟

جنگو چیست ؟

 Django یک چارچوب توسعه وب متن باز (open source) است که برای توسعه برنامه‌های وب از زبان برنامه‌ نویسی پایتون (Python) استفاده میکند. این چارچوب به منظور تسهیل توسعه وب‌سایت‌ها و برنامه‌های وب پیچیده طراحی شده است و دارای ابزارها و کتابخانه‌های متنوعی برای ایجاد وب‌سایت‌های قدرتمند و امن میباشد.

برخی از ویژگی‌های کلیدی Django عبارتند از:

  1. مدل‌ها و ORM (Object-Relational Mapping):  جنگو از یک ORM قدرتمند برای تعامل با پایگاه داده استفاده میکند که امکان تعریف مدلهای داده‌ای و ایجاد پایگاه داده‌های مرتبط با آنها را فراهم میکند.

  2. سیستم مدیریت کاربران و احراز هویت: Django دارای یک سیستم مدیریت کاربران آماده است که به شما امکان مدیریت کاربران، نقش‌ها و سطوح دسترسی آنها را میدهد.

  3. سیستم مسیریابی (URL Routing): Django از یک سیستم مسیریابی مبتنی بر URL استفاده میکند که به شما امکان تعریف URL‌های مختلف و متدهای مرتبط با آنها را میدهد.

  4. توسعه سریع: Django ابزارها و پروتکل‌های مختلفی را برای توسعه سریع وب‌سایت‌ها فراهم میکند. این شامل پنل مدیریتی آماده، فرم‌های خودکار، احراز هویت کاربران، و …

  5. امنیت: Django از ابزارها و تکنیک‌های امنیتی برای محافظت از برنامه‌های شما در برابر حملات مختلف مانند حملات از نوع اجرای کد (Code Injection) و حملات CSRF (Cross-Site Request Forgery) استفاده میکند.

  6. مستندات غنی: Django دارای مستندات جامعی است که به برنامه‌ نویسان کمک میکند تا به راحتی از آن استفاده کنند و مشکلات را حل کنند.

  7. انعطاف‌ پذیری: با اینکه Django به شیوه‌های خاص خود برنامه نویسی میکند، اما اجازه میدهد که برنامه‌ نویسان به حداکثر انعطاف در توسعه برنامه‌های وب خود دست پیدا کنند.

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

پیشنهاد مطالعه: حملات Cross-Site Scripting (XSS) چیست؟

Django: چرا بهترین چارچوب توسعه وب است

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

  1. سرعت و کارایی:
    Django با بهره‌گیری از مدل‌های داده‌ای و ORM متمرکز بر عملکرد، سرعت و کارایی بالایی ارائه میدهد. این به معنای توانایی ساخت برنامه‌های وب پر سرعت و پاسخگویی به تعداد بالایی از درخواست‌ها است.

  2. امنیت بی‌نظیر:
    یکی از مهم‌ترین جنبه‌ها در توسعه وب، امنیت است. Django با داشتن ابزارها و تکنیک‌های امنیتی بسیار حرفه‌ای، برنامه‌های شما را در برابر حملات مختلف مانند نفوذ SQL و حملات CSRF محافظت میکند.

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

  4. جامعیت مستندات:
    با Django، همیشه راهنمایی دسترسی پذیر دارید. مستندات جامع Django به شما امکان میدهند تا به راحتی با ابزارها و تکنیک‌های موجود آشنا شوید و مشکلات خود را حل کنید.

  5. جامعه فعال و پشتیبانی:
    Django دارای یک جامعه فعال برنامه‌ نویسان و توسعه‌ دهندگان است. این به معنای داشتن دسترسی به منابع غنی از تجربیات و دانش عظیم است.

  6. انجام کارهای تکراری:
    Django به شما ابزارهایی مانند فرم‌های خودکار، سیستم مدیریت کاربران آماده، و امکانات بسیار دیگر را ارائه میدهد که به شما کمک میکند تا وقت بیشتری برای توسعه ویژگی‌های اصلی برنامه‌تان داشته باشید.

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

Django: چرا بهترین چارچوب توسعه وب است

مقایسه Django با Node.js، Java و PHP: بررسی مزایا و معایب

در دنیای توسعه وب، انتخاب بهترین چارچوب یا زبان برنامه‌ نویسی برای پروژه‌های خود امری حیاتی و تصمیم‌ گیری نهایی میباشد. در این مقاله، تلاش می‌کنیم Django را با Node.js (جاوا اسکریپت سمت سرور)، Java و PHP مقایسه کرده و مزایا و معایب هر کدام را به تفصیل بررسی نماییم.

Django:

  • مزایا:

    • سرعت توسعه بالا: Django با داشتن مدل‌های داده‌ای قوی و ORM کارآمد، به برنامه‌ نویسان این امکان را میدهد که وب‌سایت‌ها را با سرعت بیشتری توسعه دهند.
    • امنیت: Django به طور پیش‌ فرض با تکنیک‌های امنیتی تسلط دارد و برنامه‌های ایجاد شده با Django اغلب از نظر امنیتی بسیار مطمئن هستند.
    • انعطاف‌ پذیری: Django به برنامه‌ نویسان امکان سفارشی‌ سازی و تنظیمات دلخواه را میدهد.
    • جامعه فعال: Django دارای جامعه بزرگی از توسعه‌ دهندگان است که به معنای دسترسی به منابع غنی از دانش و تجربیات است.
  • معایب:

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

Node.js:

  • مزایا:

    • اجرای سمت سرور و کلاینت: Node.js به شما امکان میدهد که از زبان یکسان (جاوا اسکریپت) برای سمت سرور و کلاینت استفاده کنید.
    • انعطاف‌ پذیری: Node.js به شما امکان سفارشی‌ سازی و تنظیمات دلخواه را می‌دهد.
    • اکوسیستم ماژول‌ها: Node.js دارای اکوسیستم بزرگی از ماژول‌ها و پکیج‌های مفید است.
  • معایب:

    • کمترین تطابق با برنامه‌ نویسی سنتی: استفاده از Node.js نیازمند به برنامه‌ نویسانی است که با رویکردهای نو آورانه کد بزنند.
    • مشکلات امنیتی: امنیت برنامه‌های Node.js به مراتب وابسته به توسعه دهندگان و کد نوشته شده است.

Java:

  • مزایا:

    • کارایی و پایداری: Java به عنوان یک زبان برنامه‌نویسی با کارایی بالا و پایداری شناخته میشود.
    • تعامل با سیستم‌های بزرگ: Java برای توسعه برنامه‌های با سیستم‌های بزرگ و پیچیده مناسب است.
    • امنیت: Java به عنوان یک زبان با دسترسی محدود به منابع سیستمی، به نظر آنی شناخته میشود.
  • معایب:

    • کد بیشتر: توسعه با Java به طور معمول نیاز به کد بیشتری دارد.
    • سرعت توسعه کمتر: توسعه با Java معمولاً زمان بیشتری را میطلبد.

PHP:

  • مزایا:

    • انعطاف‌پذیری: PHP به شما امکان سفارشی‌سازی و توسعه سریع وب‌سایت‌ها را میدهد.
    • اکوسیستم بزرگ: PHP دارای اکوسیستم بزرگی از کتابخانه‌ها و فریم‌ورک‌هاست.
    • هزینه نرم‌افزار: بسیاری از میزبان‌ها ارائه خدمات PHP با هزینه کمتری ارائه میدهند.
  • معایب:

    • امنیت: PHP به عنوان زبانی که ابتدا برای توسعه وب نساخته شده بود، ممکن است دچار آسیب‌پذیری‌های امنیتی شود.
    • کد ناقص: برنامه‌نویسان PHP باید از نظر امنیتی به دقت بیشتری به کد خود توجه کنند.

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

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

برای اینکه بتوانید با آموزش نصب جنگو همراه باشید ابتدا باید یک هاست با توانایی پشتیبانی از فریم ورک تهیه بفرمایید. پس از تهیه هاست ابری تک‌پرو وارد پنل مدیریتی خود شوید و در پنل مدیریتی دابرکت ادمین خود باید به بخش Extra Featurs رفته و Setup Python App را انتخاب کنید. سپس بر روی CREATE APPLICATION کلیک کنید.

				
					Extra Featurs > setup python App > Create Applications
				
			
نصب djangoo

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

در Application root نام دایرکتوری برنامه خود را تایپ کنید، این باید با پوشه عمومی وب سایت جنگو متفاوت باشد.
برای مثال فرض کنید میخواهیم جنگو را در آدرس وب‌سایت https://apps.tecpro.ir نصب کنیم، سپس پوشه عمومی در public_html قرار می‌گیرد. برای پوشه برنامه منطقی است که آن را در public_html نداشته باشید، بلکه در همان سطح و به سادگی “myapp” نامیده شود، بنابراین ادامه دهید و “myapp” را در کادر “Application root” وارد کنید.
این به طور خودکار پوشه “myapp” را برای شما ایجاد میکند.

آدرس دامنه خود را به عنوان URL برنامه در خط بعدی انتخاب کنید.

فایل راه‌اندازی برنامه و نقطه ورود برنامه را خالی بگذارید – سیستم این فایل را با قوانین خود ایجاد می‌کند و به آن اجازه می‌دهد این کار را انجام دهد.
آخرین مورد – تنظیم یک فایل گزارش (فایل گزارش مسافران) معقول است – /home/hpapps/myapp.log را در کادر پرونده ثبت مسافران وارد کنید،  سپس روی CREATE کلیک کنید.

مرورگر خود را به آدرس/URL وب سایت برنامه خود ببرید، برای این مثال https://apps.tecpro.ir خواهد بود، باید چیزی شبیه به عکس زیر را ببینید:

آموزش نصب جنگو

آموزش نصب بسته‌های پایتون برای اجرای جنگو:​

ما میتوانیم نصب بسته‌ها را مستقیماً از رابط وب انجام دهیم (با رفتن به فایل ‘requirements.txt’ – اگر این فایل را در زیر شاخه اصلی دارید، در بخش ‘Configuration files’، روی ADD کلیک کنید، سپس روی ‘Run Pip install’ کلیک کنید.) ، اما ما این کار را به این شکل انجام نخواهیم داد. بیایید این کار را به روش سنتی، از طریق اجرای دستورات پوسته انجام دهیم.
به هر حال باید از دستورات پوسته استفاده کنیم، بنابراین بیایید بلافاصله به خط فرمان برویم.

ما باید یک اتصال ssh به سرور خود ایجاد کنیم. اگر از ویندوز استفاده می کنید، توصیه می کنم از برنامه ای به نام PuTTY استفاده کنید. از نام کاربری و رمز عبور دایرکت ادمین خود استفاده کنید (نه رمز عبور ناحیه مشتری!) و پورت 22 را به 88 برای اتصال ssh تغییر دهید.

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

وارد محیط مجازی شوید برای ورود به محیط مجازی دستور منبع /home/hpapps/virtualenv/myapp/3 را اجرا کنید.
7/bin/activate && cd /home/hpapps/myapp
فقط روی دستور نشان داده شده در دایرکت ادمین خود کلیک کنید و در کلیپ بورد شما کپی می شود. دستور را در پنجره ترمینال PuTTY قرار دهید و آن را اجرا کنید – اکنون در فهرست پروژه خود هستید و محیط مجازی فعال شده است. دستور زیر را اجرا کنید:

				
					pip install django

				
			

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

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

				
					django-admin startproject myapp_project . 

				
			

لطفا به نقطه انتهای دستور توجه کنید. این نقطه به django-admin می گوید که یک پروژه در فهرست فعلی ایجاد کند. در غیر این صورت، یک زیر شاخه ‘myapp_project’ در فهرست فعلی ایجاد می کند – این چیزی نیست که ما میخواهیم.

پیکربندی میزبان‌های مجاز

ما باید نام دامنه خود را به متغیر تنظیمات ALLOWED_HOSTS اضافه کنیم، myapp_project/settings.py را دوباره باز کرده و موارد زیر را جایگزین کنیم:

				
					ALLOWED_HOSTS = []
				
			
با
				
					ALLOWED_HOSTS = [‘apps.tecpro.ir’]

				
			

مطمئن شوید که apps.tecpro.ir را با نام دامنه خود جایگزین کنید.
در مرحله بعد فایل manage.py رو باز کرده و محتوای آن را پاک کرده و عبارت زیر را متناسب با نام پروژه خود تغییر داده و وارد کرده سپس ذخیره کنید :

				
					from project.wsgi import application


				
			

نام پروژه شما در این مثال project است .

SETTINGS.PY را ویرایش کنید

اکنون پروژه را باز کرده و فایل settings.py را باز کرده و کد های زیر را به‌آن اضافه کنید:

				
					
STATIC_URL = ‘/static/’
MEDIA_URL=’/media/’
STATICFILES_DIRS=
STATIC_ROOT=’/home/**username**/public_html/static’
MEDIA_ROOT=’/home/**username**/public_html/media’
				
			

اکنون پوشه assets را در فهرست مدیریت.py ایجاد کنید و پوشه رسانه را در html عمومی ایجاد کنید، اکنون دستور زیر را در ترمینال اجرا کنید (python env باید فعال باشد):

				
					python manage.py collectstatic


				
			

حالا به اپلیکیشن پایتون بروید و سرور را ریستارت کنید.

نصب جنگو بر روی لوکال هاست

نصب جنگو بر روی لوکال هاست (کامپیوتر شخصی) بسیار آسان است. در اینجا، یک آموزش کوتاه برای نصب جنگو بر روی سیستم عامل ویندوز ارائه میشود:

مرحله 1: نصب Python

برای شروع، ابتدا Python را باید روی سیستم تان نصب کنید. به وب‌سایت رسمی Python در python.org بروید و آخرین نسخه از Python را دانلود کنید و نصب کنید.

				
					# linux Ubuntu
sudo apt install python3
				
			

مرحله 2: نصب pip

pip یک مدیر بسته‌های Python است که به شما امکان نصب بسته‌های مختلف را می‌دهد. اکثراً در Python به صورت پیش‌ فرض نصب می‌شود. برای اطمینان از وجود آن، در خط فرمان (Command Prompt) یا PowerShell دستور زیر را وارد کنید:

				
					pip --version

# linux
sudo apt install python3-pip 

				
			

مرحله 3: نصب venv

این ماژول از ایجاد “محیط های مجازی” سبک وزن پشتیبانی می کند، که هر کدام با مجموعه ای مستقل از بسته های پایتون در دایرکتوری های سایت خود نصب شده اند. یک محیط مجازی در بالای نصب پایتون موجود ایجاد میشود که به عنوان پایتون «پایه» محیط مجازی شناخته میشود، و ممکن است به صورت اختیاری از بسته‌های موجود در محیط پایه جدا شود، بنابراین فقط مواردی که به صراحت در محیط مجازی نصب شده‌اند در دسترس هستند.venv

				
					# linux
sudo apt install python3-venv

# create new env on win and linux
python3 -m venv .venv

# activate on windows
.\.venv\Script\activate

# activate on linux
source ./.venv/bin/activate

				
			

مرحله 4: نصب جنگو

بعد از نصب pip، می‌توانید با استفاده از آن جنگو را نصب کنید. از خط فرمان دستور زیر را وارد کنید:

				
					pip install Django
				
			

مرحله 5: ایجاد یک پروژه جدید

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

				
					django-admin startproject myproject
				
			
این دستور یک پروژه جدید به نام “myproject” ایجاد میکند.

مرحله 6: اجرای پروژه

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

				
					python manage.py runserver
				
			

این دستور سرور توسعه جنگو را روی لوکال هاست شما اجرا می‌کند. سرور باید در آدرس http://127.0.0.1:8000 قابل دسترس باشد.

مرحله 7: مرورگر خود را باز کنید

حالا باز کنید مرورگر و به آدرس http://127.0.0.1:8000 بروید. شما باید صفحه اصلی پروژه جنگو را مشاهده کنید.

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

به این مقاله چند ستاره میدی؟
0 / 5 امتیاز: 5 رای 3

امتیاز شما به این مطلب:

مطلب بالا را با دوستان خود به اشتراک بگذارید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *