1- مقدمه
در این آموزش باید با پایتون و html از قبل آشنا بوده باشید.
بعد از این آموزش می توانید با فلاسک یک سایت طراحی کنید.
2-Overview
وب فریم ورک چیه ؟
مجموعه ای از کتابخانه ها و ماژول ها که به دولوپرها اجازه میدهند اپلیکیشن بنویسند بدون اینکه بخواهند در مورد جزییات سطح پایین مانند پروتوکل و thread management درگیری زیادی داشته باشند.
What is Flask؟
فریم ورکی که با پایتون نوشته شده و توسط Armin Ronacher درست شده که یک تیم پایتون کار داره به نام Pocco. فلاسک بر اساس تولکیتهای موسوم به Werkzeug WSGI وموتور Jinja2 عمل میکنه که هر دو از پروژه های pocco هستن.
WSGI
واسط گست وی سرور برای وبسایت (حالت مترجم 👻) است. که به عنوان استاندارد ارتباطی پایتون در توسعه وب اپلیکیشن انتخاب شده. در واقعه به طور خاص رابط جهانی بین وب سرور و وب اپلیکیشن هست.
Web Server Gateway Interface (WSGI) has been adopted as a standard for Python web application development. WSGI is a specification for a universal interface between the web server and the web applications.
Werkzeug
در واقع تولکیت WSGI هست که ریکوئست میزند، شی برمیگرداند و دیگر کارها را میکند. این باعث میشود که بتوان یک وب اپلیکیشن ساخته شود. فلاسک از Werkzeug بعنوان یکی از پایه های خود استفاده میکند.
It is a WSGI toolkit, which implements requests, response objects, and other utility functions. This enables building a web framework on top of it. The Flask framework uses Werkzeug as one of its bases.
Jinja2
یک موتور templating محبوب در پایتون است. کاری که web templating system میکند این است که تمپلیت را با منبع داده خاصی ترکیب میکند تا صفحات دینامیک را رندر کند.
Jinja2 is a popular templating engine for Python. A web templating system combines a template with a certain data source to render dynamic web pages.
فلاسک بعنوان یک micro framework شناخته میشود.
فلاسک سعی دارد هسته اپلیکیشن را ساده نگه دارد و در عین حال بتوان آن را بزرگ کرد( yet extensible)
فلاسک لایه داخلی برای مدیریت دیتابیس ندارد و همچنین validation support را نیز ندارد.
در عوض –> . supports the extensions to add such functionality to the application
برخی از محبوب ترین اکستنشن های فلاسک را در ادامه معرفی خواهیم کرد.
Flask is often referred to as a micro framework. It aims to keep the core of an application simple yet extensible. Flask does not have built-in abstraction layer for database handling, nor does it have form a validation support. Instead, Flask supports the extensions to add such functionality to the application. Some of the popular Flask extensions are discussed later in the tutorial.
3: محیط فلاسک
الزمات:
به پایتون 2.6 یا بالاتر نیاز داریم. توصیه میشه که روی پایتون 2.7 نصب بشه. چون روی پایتون 3 ممکنه بعضی از اکتشن ها کار نکنه.
Although Flask and its dependencies work well with Python 3 (Python 3.3 onwards), many Flask extensions do not support it properly. Hence, it is recommended that Flask should be installed on Python 2.7.
Install virtualenv for development environment
ایجاد محیط مجازی
ایجاد این محیط به کاربر اجازه میدهد، چندید محیط پایتون را در کنار هم ران کند.
virtualenv is a virtual Python environment builder. It helps a user to create multiple Python environments side-by-side. Thereby, it can avoid compatibility issues between the different versions of the libraries.
The following command installs virtualenv
با کدهای زیر محیط مجازی را ایجاد میکنیم:
pip install virtualenv
4: اپلیکیشن
5-routing
6- variable rules
7- url building
8-http methods
9-