دوره برنامه نویسی Django به آمـوزش یکی از محبوب ترین Framework های متن باز توســعه وب در سطح دنیا می پردازد، که به زبـــان Python نوشته شده و با اجزای آماده به کار خود توسعه وب سایت ها را بسیار آسان می کند.
فریم ورک جنگو به عنوان یک فریم ورک استاندارد که از معماری MVT پیروی میکند و اصطلاحاً Batteries Included است (به این معنی که تمامی نیاز های یک برنامه نویس وب را تأمین می کند) سرعت بسیار بالای توسعه را همراه با کیفیت بالا و یکپارچگی عالی برای کاربر فراهم می کند.
در فریم ورک جنگو، برنامه نویس بیشترین تمرکز را بر روی منطق و کسب و کار مد نظر خود دارد و نیاز به درگیری بسیار کم با مسائل جانبی. لذا سرعت رسیدن به نتیجه به صورت تعجب بر انگیزی بالاست.
همینطور مفهوم Middleware های جنگو با نظارت بر ورودی و خروجی های برنامه نویس مباحث امنیتی (نظیر حملات CSRF ) را تأمین کرده و ساز و کار نیاز برای Authentication و Authorization را به تمامی روشهای استاندارد فراهم میکند
بعلاوه پیروی جنگو از یک مدل مبتنی بر میکرو اپلیکیشن باعث شده تعداد زیادی ماژول آماده برای کارهای مختلف در جنگو وجود داشته باشد و برنامه نویس علاوه بر ماژول هایی که خودش در طول زندگی می نویسد بتواند از ثمره کار دیگران نیز استفاده کند.
موتور ORM فریمورک جنگو کاربر را تا حد زیادی از نوشتن کوئری های دیتابیس رها کرده و به صورت خودکار و مستقل از نوع دیتابیس به برنامه نویس اجازه می دهد کاملاً شی گرا کد نوشته و در نهایت کوئری ها را به بهترین روش تولید و اجرا کند.
همینطور موتور Template جنگو اجازه ساخت قالبهای یکپارچه و پیشرفته برای اپلیکیشن های SSR را فراهم میکند؛ این موتور تمپلیت الگوی طراحی موتور تمپلیت معروف Twig بوده است
و در نهایت DRF یا همان Django REST Framework به برنامه نویس اجازه می دهد به راحتی و با بالاترین میزان یکپارچگی REST API تولید کرده اپلیکیشن های Restful ایجاد کند.
آنچه شما در دوره ی جنگو آنیسا می آموزید:
در دوره جنگــو مقدماتی آنیــسا شما معماری MVT و نحوه طراحی و پیادهسازی مدل ها (یا همان دیتابیس)، Viewها (یا همان منطق برنامه) و Templates (یا همان ظاهر و خروجی HTML برنامه) را آموزش می بینید و همزمان یک پروژه مشترک برای ساخت یک وب اپلیکیشن نمونه را پیش خواهیم برد.
در نهایت با نصب DRF دانشجویان نحوه پیادهسازی REST API با جنگو و ارتباط با آن از طریق ابزار های تست API را یاد گرفته و پیادهسازی API را روی پروژه خود انجام خواهند داد.
در پایان کلاس نحوه نصب و اجرای پروژه جنگو روی سرور VPS و آلمان های دخیل در آن بررسی میشود
محتوای دوره:
Introduction to Web & Web Services
Introducing & Installation of Django
Django views
Templating & separating template from logic
ORM Concept
Django Admin Site
User Space Forms
Generating non-html content
Internationalization and translating
Deploying Django code to web server
Full featured Django web application example
مدرس: مدرس خبره در برنامه نویسی زبان پایتون و جنگو
پیش نیاز: برنامه نویسی زبان پایتون و LPIC-1
مدت دوره: ۴۰ ساعت.
تاریخ برگزاری: لطفا به تقویم آموزشی مراجعه بفرمایید.
Section 0
Introduction to Web & Web Services
Backend/Frontend separation concepts
UI/Logic Concepts
MVC Architecture
Microservice Architecture
ORM & Database
Server/Client Side elements
Introduction to JSON, XML, HTML, CSS & Javascript
Frameworks (Frontend / Backend)
Section 1
Introducing & Installation of Django
Introduction to service oriented programming & REST api
Django Architecture and program structures
Django IDEs
Creating & Running Django projects
Start A Course Project
Section 2
Creating Output and manage URLs Django Views & URLConfs
Creating Dynamic content using Django views
Section 3
Templating & separating template from logic
Django Templates
Displaying Templates
Template Tags & Filters
Frequent Tags & Filters
Using Templates in views
Section 4
ORM Concept
Connecting to any DBMS
Models as Tables
Understanding Model Abstraction
Model Installation
Basic Data store and fetch
Insert & Update
Selecting Models
Filtering Data
Ordering Objects
Chaining & Slicing
Deleting Objects
Section 5
Django Admin Site
Managing Models through admin site (CRUD)
Edit Form Customizations
Users, Groups & Permissions
Section 6
User Space Forms
Working With Submitted Data
Handling simple forms
Creating Form Classes And binding with views
Form Validation
Customizing Form Design
Section 7
Generating non-html content
modifying headers
Section management, Login & registration of users
Working with cookies
Django Section framework
User Authentication
Login & Logout
Working with permissions & groups
Using Message system
Section 8
Internationalization and translating
Standard Translation
Lazy Translation
Pluralization
Using translators in Templates
Language Files
Compiling Message Files
Using Translations in Javascript
Section 9
Deploying Django code to web server
Different deploy modes
Django Test server
wsgi deployment
using shared servers
Debug And Deploy modes
Separating debug and deploy settings
Section 10
Finish our full featured Django web application example
Review it
And Deploy it
برنامه نویسی تحت وب:
امروزه برنامه نویسی تحت وب، دیگر محدود به ساختن وبسایت نیست
بلکه حتی اپلیکیشن های جدی نیز به عنوان رابط گرافیکی از مرورگر استفاده می کنند
برنامه نویسی تحت وب به این معنی است که موتور اصلی اپلیکیشن، یک برنامه موجود در سرور بوده و رابط گرافیکی آن با استفاده از html ، css و javascript روی مرورگر کاربر اجرا شود.
به برنامههایی که روی سرور اجرا میشوند backend و به برنامههایی که روی سیستم کاربر (یا کلاینت) اجرا میشوند Frontend گفته میشود که برنامه backend و frontend ازطریق پروتکل http با یکدیگردر ارتباط هستند.
- ممکن است backend مستقیماً frontend را تولید کند (یعنی html تولید کند) که ه به این روش SSR یا Server Side Rendering گفته میشود.
- و یا frontend قبلاً توسط تکنولوژی دیگری تولید شده باشد و فقط دادههای مورد نیاز خود برای فعالیت را از backend دریافت کند؛ به این روش CSR یا Client Side Rendering گفته میشود.
هر دوی این روشها ویژگیهایی دارند که برنامه نویس وب، باید بسته به موقعیت، روش مناسب را انتخاب کند.
در روش CSR برای آنکه فرانت یا بک در ارتباط باشد دیتا به صورت بسته های http با محتوایی نظیر json و یا xml بین سرور و کلاینت منتقل میشوند که به این کار اصطلاحاً API گفته میشود و انواع مختلفی از آن وجود دارد.
Full Stack Developer یا Backend Developer یا Frontend Developer ؟
زبانهای برنامه نویسی سمت سرور نظیر PHP ،Java یا Python برای ساخت بخش backend اپلیکیشن های وب به کار میروند؛ حال ممکن است برنامه نویس وب خود هر دو بخش را انجام دهد که به او Full Stack Developer گفته میشود و یا ممکن است فقط روی یکی از این بخشها تمرکز کند که به اون Backend Developer یا Frontend Developer گفته میشود.
برنامه نویسی وب و زبان پایتون:
پایتون همانند دیگر حوزه هایی که در آنها فعالیت میکند در حوزه برنامه نویسی وب هم توانایی بالایی دارد و امروزه به دلیل کتابخانهها و قدرت بسیارش، برای پیادهسازی وب اپلیکیشن ها در سطوح مختلف استفاده میشود. مخصوصاً در پیادهسازی وب اپلیکیشن های سازمانی و یا وب اپلیکیشن هایی که در سمت سرور دارای پیچیدگی و یا نیازمند منطق خاص یا ارتباط با ابزار خاصی هستند پایتون بهترین گذینه به حساب میآید.
البته همانطور که در همه زبانهای برنامه نویسی Framework هایی برای انجام کار های مختلف وجود دارد که پیادهسازی و ساختاردهی و امنیت و … را برای برنامه نویس به شکل استاندارد بهبود داده و اجرای پروژه را تسهیل میکند در پایتون هم فریمورک های تحت وب زیادی وجود دارد که Django و Flask از معروف ترین آنها هستند.
فریم ورک ها وظیفه دارند کاراها را آسانتر، با دوباره کاری کمتر و استاندارد تر کنند تا امنیت و کاربری وب اپلیکیشن به حداکثر خود برسد.
برنامه نویسی وب با جنگو:
فریم ورک جنگو به عنوان یک فریم ورک استاندارد که از معماری MVT پیروی میکند و اصطلاحاً Batteries Included است (به این معنی که تمامی نیاز های یک برنامه نویس وب را تأمین می کند) سرعت بسیار بالای توسعه را همراه با کیفیت بالا و یکپارچگی عالی برای کاربر فراهم می کند.
در فریم ورک جنگو، برنامه نویس بیشترین تمرکز را بر روی منطق و کسب و کار مد نظر خود دارد و نیاز به درگیری بسیار کم با مسائل جانبی. لذا سرعت رسیدن به نتیجه به صورت تعجب بر انگیزی بالاست.
همینطور مفهوم Middleware های جنگو با نظارت بر ورودی و خروجی های برنامه نویس مباحث امنیتی (نظیر حملات CSRF) را تأمین کرده و ساز و کار نیاز برای Authentication و Authorization را به تمامی روشهای استاندارد فراهم می کند.
بعلاوه پیروی جنگو از یک مدل مبتنی بر میکرو اپلیکیشن باعث شده تعداد زیادی ماژول آماده برای کارهای مختلف در جنگو وجود داشته باشد و برنامه نویس علاوه بر ماژول هایی که خودش در طول زندگی می نویسد بتواند از ثمره کار دیگران نیز استفاده کند.
موتور ORM فریمورک جنگو کاربر را تا حد زیادی از نوشتن کوئری های دیتابیس رها کرده و به صورت خودکار و مستقل از نوع دیتابیس به برنامه نویس اجازه می دهد کاملاً شی گرا کد نوشته و در نهایت کوئری ها را به بهترین روش تولید و اجرا کند.
همینطور موتور Template جنگو اجازه ساخت قالبهای یکپارچه و پیشرفته برای اپلیکیشن های SSR را فراهم میکند؛ این موتور تمپلیت الگوی طراحی موتور تمپلیت معروف Twig بوده است
و در نهایت DRF یا همان Django REST Framework به برنامه نویس اجازه می دهد به راحتی و با بالاترین میزان یکپارچگی REST API تولید کرده اپلیکیشن های Restful ایجاد کند.
آنچه شما در دوره ی جنگو آنیسا می آموزید:
در دوره جنگــو مقدماتی آنیــسا شما معماری MVT و نحوه طراحی و پیادهسازی مدل ها (یا همان دیتابیس)، Viewها (یا همان منطق برنامه) و Templates (یا همان ظاهر و خروجی HTML برنامه) را آموزش می بینید و همزمان یک پروژه مشترک برای ساخت یک وب اپلیکیشن نمونه را پیش خواهیم برد.
در نهایت با نصب DRF دانشجویان نحوه پیادهسازی REST API با جنگو و ارتباط با آن از طریق ابزار های تست API را یاد گرفته و پیادهسازی API را روی پروژه خود انجام خواهند داد.
در پایان کلاس نحوه نصب و اجرای پروژه جنگو روی سرور VPS و آلمان های دخیل در آن بررسی میشود