آموزش جنگو رایگان
جنگو (Django) یکی از محبوبترین فریمورکهای توسعه وب در زبان برنامهنویسی پایتون است که به دلیل سرعت بالا، امنیت زیاد و ابزارهای داخلی فراوان، به گزینهی اصلی بسیاری از توسعهدهندگان تبدیل شده است. در این مقاله به آموزش جنگو رایگان، بررسی این فریمورک محبوب، ویژگیهای آن و نحوهی کار با آن خواهیم پرداخت.
اگر از علاقهمندان به یادگیری زبان برنامه نویسی پایتون و توسعه برنامهها و یا وب اپلیکیشنهای خود هستید میتوانید به دوره آموزش پایتون ما مراجعه کنید همچنین در صورتی که به دنبال یادگیری هر زبان برنامه نویسی دیگری میگردید میتوانید از وبسایت ما دیدن کنید. ما در نیک وب 360 شما را در یادگیری حوزه مورد علاقهتان یاری میکنیم.
در ادامه آموزش جنگو رایگان بیایید این فریمورک را بیشتر برسی کنیم. جنگو یک فریمورک کاملاً رایگان و متنباز است که برای توسعهی سریع و کارآمد برنامههای وب استفاده میشود. این فریمورک بر اساس معماری MTV طراحی شده است که توسعهی برنامههای وب را ساختاریافته و مقیاسپذیر میکند.
معماری MTV چیست؟
معماری MTV مخفف Model-Template-View است و یک الگوی طراحی (Pattern) در توسعهی وب محسوب میشود که بیشتر در فریمورک Django مورد استفاده قرار میگیرد. این معماری مشابه معماری MVC مخفف Model-View-Controller است، اما تفاوتهایی دارد.
چرا Django از MTV استفاده میکند؟
- جدا کردن بخش نمایش از منطق پردازش دادهها.
- سهولت در توسعه و نگهداری پروژههای بزرگ.
- استفاده از ORM داخلی Django برای ارتباط با پایگاه داده.
- جداسازی مسئولیتها و بهینهسازی عملکرد.
در نهایت، MTV در Django مانند MVC در سایر فریمورکها است، با این تفاوت که نقش Controller را View به عهده دارد و بخش Template به جای View در MVC استفاده میشود.
تاریخچه جنگو
جنگو در سال 2003 توسط برنامهنویسانی در یک سازمان خبری توسعه یافت و در سال 2005 بهصورت متنباز منتشر شد. این فریمورک نام خود را از نوازنده معروف گیتار، جنگو راینهارت، گرفته است. جنگو از ابتدا با رویکرد “سریع حرکت کن و نشکن” طراحی شد و هنوز هم یکی از محبوبترین فریمورکهای وب در جهان است و شما با آموزش جنگو رایگان میتوانید استفاده ازین فریمورک برای برنامههای تحت وب خود استفاده کنید.
ویژگیهای کلیدی جنگو
- توسعهی سریع: جنگو به شما امکان میدهد پروژههای پیچیده خود را در کمترین زمان توسعه دهید.
- امنیت بالا: جنگو در برابر حملات رایج مانند SQL Injection، XSS و CSRF مقاوم است.
- ORM قدرتمند: برای کار با پایگاههای داده از ORM داخلی بهره میبرد که مدیریت دادهها را آسانتر میکند.
- مدیریت ادمین داخلی:جنگو به شما یک پنل مدیریت آماده برای کنترل دادهها ارائه میدهد.
- مقیاسپذیری بالا: برای توسعهی پروژههای بزرگ و پیچیده مناسب است.
- پشتیبانی از کشینگ: در نهایت، این فریمورک به بهبود عملکرد و سرعت بارگذاری صفحات کمک میکند.
آموزش حنگو رایگان : نصب جنگو
قبل از نصب جنگو، ابتدا بررسی کنید که پایتون روی سیستم شما نصب شده است. برای این کار، دستور زیر را در ترمینال (یا خط فرمان) اجرا کنید:
python --version
یا در برخی سیستمها:
python3 --version
اگر نسخهای از پایتون به همراه ورژن آن (مثلاً Python 3.x.x
) نمایش داده شد، یعنی پایتون روی سیستم شما نصب است. در غیر این صورت، ابتدا باید آن را از وبسایت رسمی پایتون دانلود و نصب کنید.
نصب جنگو
برای نصب جنگو، پس از اطمینان از نصب بودن پایتون، از pip
در ترمینال استفاده کنید:
pip install django
این دستور جنگو را روی سیستم شما نصب میکند. حالا میتوانیم یک پروژه جدید ایجاد کنیم.
ایجاد یک پروژه جدید در جنگو
django-admin startproject myproject
cd myproject
python manage.py runserver
توضیح کد بالا:
django-admin startproject myproject
→ یک پروژه جنگو جدید به نامmyproject
ایجاد میکند.cd myproject
→ وارد پوشهی پروژه میشود.python manage.py runserver
→ سرور داخلی جنگو را اجرا میکند( این سرور به طور پیشفرض روی آدرس http://127.0.0.1:8000/ قرار دارد ).
اکنون با باز کردن مرورگر و رفتن به http://127.0.0.1:8000/
، صفحهی پیشفرض جنگو را خواهید دید.
آموزش جنگو رایگان: ایجاد اپلیکیشن در جنگو
جنگو از ساختار ماژولار استفاده میکند، بنابراین میتوان چندین اپلیکیشن درون یک پروژه داشت. برای ایجاد یک اپلیکیشن جدید، دستور زیر را اجرا کنید:
python manage.py startapp myapp
توضیح کد فوف: این دستور یک پوشهی جدید به نام myapp
ایجاد میکند که شامل فایلهای اصلی مورد نیاز اپلیکیشن است.
حالا اپلیکیشن خود را در settings.py
به بخش INSTALLED_APPS
اضافه کنید:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # اضافه کردن اپلیکیشن جدید
]
آموزش جنگو رایگان: ایجاد مدل در جنگو
برای مدیریت دادهها، جنگو از یک ORM داخلی استفاده میکند. در models.py
مربوط به myapp
، مدل زیر را تعریف کنید:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
توضیح کد بالا:
title = models.CharField(max_length=200)
→ یک فیلد متنی با حداکثر ۲۰۰ کاراکتر برای عنوان تعیین میشود.content = models.TextField()
→ این خط نیز یک فیلد متنی بزرگ برای محتوا مشخص میکند.created_at = models.DateTimeField(auto_now_add=True)
→ زمان ایجاد پست را ذخیره میکند.
آموزش جنگو رایگان: ایجاد جدول در پایگاه داده
پس از تعریف مدل، باید آن را به پایگاه داده اعمال کنیم:
python manage.py makemigrations
python manage.py migrate
توضیح کد فوق:
makemigrations
→ تغییرات مدل را بهصورت فایلهای مهاجرت ذخیره میکند.migrate
→ این دستور تغییرات را روی پایگاه داده اعمال میکند.
آموزش جنگو رایگان: ایجاد ویو و نمایش دادهها
در views.py
مربوط به myapp
، یک ویو برای نمایش پستها ایجاد کنید:
from django.shortcuts import render
from .models import Post
def post_list(request):
posts = Post.objects.all()
return render(request, 'post_list.html', {'posts': posts})
توضیح:
Post.objects.all()
→ همهی پستهای موجود در پایگاه داده را دریافت میکند.render(request, 'post_list.html', {'posts': posts})
→ دادهها را به قالبpost_list.html
ارسال میکند.
آموزش جنگو رایگان: ایجاد قالب HTML برای نمایش پستها
برای نمایش و ظاهر دهی به برنامهتان میتوانید یک قالب html بسازید و به آن استایل دهید. یک فایل جدید در myapp/templates/post_list.html
ایجاد کنید:
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>لیست پستها</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-4">
<h1 class="text-center">پستهای بلاگ</h1>
<div class="row">
{% for post in posts %}
<div class="col-md-6">
<div class="card my-3">
<div class="card-body">
<h2 class="card-title">{{ post.title }}</h2>
<p class="card-text">{{ post.content }}</p>
<p class="text-muted">تاریخ انتشار: {{ post.created_at }}</p>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</body>
</html>
برای ظاهر دهی کد بالا از کدهای آماده bootstrap استفاده شده. شما میتوانید از استایل و css شخصی استفاده کنید.
آموزش جنگو رایگان: ایجاد مسیرهای URL در جنگو
در urls.py
مسیر نمایش لیست پستها را تنظیم کنید:
from django.urls import path
from .views import post_list
urlpatterns = [
path('', post_list, name='post_list'),
]
با این کد، هرگاه کاربر به صفحهی اصلی مراجعه کند، لیست پستها نمایش داده میشود.
آموزش جنگو رایگان: کاربردهای جنگو
از جنگو میتوانید در پروژههای متنوع استفاده کنید از جمله آنها میتوان به موارد زیر اشاره کرد:
- سایتهای خبری و وبلاگها
- فروشگاههای اینترنتی و سیستمهای تجارت الکترونیک
- شبکههای اجتماعی و انجمنهای گفتگو
- پنلهای مدیریتی و سیستمهای داخلی سازمانی
نتیجهگیری
جنگو یکی از بهترین فریمورکهای وب برای توسعهدهندگان پایتون است که امکانات گستردهای برای ساخت برنامههای تحت وب فراهم میکند. امنیت بالا، توسعه سریع و مقیاسپذیری از جمله عواملی هستند که این فریمورک را به انتخابی محبوب در بین توسعهدهندگان تبدیل کردهاند. اگر به دنبال یادگیری و استفاده از یک فریمورک وب قدرتمند هستید، جنگو گزینهای عالی است.
امیدواریم مقاله آموزش جنگو رایگان برای شما مفید بوده باشه و توانسته باشیم شمارا با مفاهیم اولیه و پایه این فریمورک آشنا کنیم، در صورت داشتن هرگونه سوال و ابهام میتوانید در بخش نظرات سوالات خود را مطرح کنید.