نحوه استفاده از فریم ورک فلسک
مقالات تخصصی IT و هاستینگ

فریم ورک فلسک چیست و چگونه باید از آن استفاده کرد؟

Flask یک فریم ورک سبک و انعطاف‌پذیر برای توسعه وب با پایتون است. این فریم ورک به این دلیل طراحی شده که شروع کار با توسعه وب را سریع و آسان کند و در عین حال همچنان قدرتمند باشد تا بتوانید برنامه‌های پیچیده وب را با آن ایجاد کنید.

فریم ورک فلسک چیست؟

Flask یک API از پایتون است که به شما امکان ایجاد برنامه‌های تحت وب را می‌دهد. این فریم ورک توسط Armin Ronacher توسعه داده شده است.
فریم ورک فلسک در مقایسه با
Django ساده‌تر بوده و یادگیری آن راحت‌تر می باشد زیرا برای پیاده‌سازی یک برنامه ساده نیاز به کد پایه کمتری دارد. Flask مبتنی بر WSGI (Web Server Gateway Interface) و موتور قالب Jinja2 است.

فریم ورک فلسک چیست

تصویر(1)

مزایای فریم ورک فلسک:

  1. سبک بودن: Flask یک فریم ورک بک‌اند سبک با حداقل وابستگی‌ها است.
  2. یادگیری آسان: API ساده و قابل درک این فریم ورک، یادگیری و استفاده از آن را برای مبتدیان آسان می‌کند.
  3. انعطاف‌پذیری: این فریم ورک به شما امکان می‌دهد تا آن را برای رفع نیازهای خود به راحتی سفارشی سازی کرده و توسعه دهید.
  4. سازگاری با هر دیتابیس: از دیتابیس‌های SQL و NoSQL پشتیبانی می‌کند و همچنین با هر تکنولوژی فرانت‌اند مانند React یا Angular قابل استفاده است.
  5. مناسب پروژه‌های کوچک تا متوسط: برای پروژه‌هایی که نیازی به پیچیدگی فریم ورک‌های بزرگ ندارند، ایده‌آل است.

شروع به کار با فریم ورک فلسک

برای نصب فریم ورک فلسک به پایتون 3 نیاز دارید. می‌توانید Flask را از بسته پایتون نصب نموده و کد زیر را در هر محیط IDE پایتون اجرا کنید:

نصب فریم ورک فلسک

تصویر(2)

آدرس ' / '  به تابع ()hello متصل شده است.

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

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

debug در فریم ورک فلسک

تصویر(3)

ایجاد مسیرها (Routes) در فریم ورک فلسک

مسیرها اجازه می‌دهند تا کاربران URL ها را به خاطر بسپارند و مستقیم به صفحات دسترسی پیدا کنند. این کار با استفاده از دکوراتور ()route انجام می‌شود:

ایجاد Routes در فریم ورک فلسک

تصویر(4)

با بازدید از آدرس http://localhost:5000/hello، خروجی تابع ()hello_world در مرورگر نمایش داده می‌شود.

همچنین می‌توانید از روش زیر برای اتصال URL به یک تابع استفاده کنید:

تابع ()hello_world در فریم ورک فلسک

تصویر(5)

متغیرها در فریم ورک Flask

می‌توانید از متغیرها برای ایجاد URL های پویا استفاده کنید. مثال زیر را مشاهده نمایید:

فریم ورک Flask

تصویر(6)

اگر آدرس http://localhost:5000/hello/example را باز کنید، خروجی زیر را خواهید دید:

Hello example!

انواع داده در URL های متغیر فریم ورک Flask

Flask به شما امکان می‌دهد علاوه بر رشته‌ها (string)، از انواع داده‌های دیگر مانند int، float و path در URL استفاده کنید. به مثال زیر توجه نمایید:

انواع داده در URL های متغیر فریم ورک فلسک

تصویر(7)

خروجی:

  • اگر آدرس http://localhost:5000/blog/555 باز شود:

Blog Number 555

  • اگر آدرس http://localhost:5000/rev/1.1 باز شود:

Revision Number: 1.100000

ساخت URL به صورت پویا در فریم ورک فلسک

برای ایجاد URL های پویا، از تابع ()url_for استفاده می‌شود که نام تابع را به عنوان اولین آرگومان می‌گیرد. همچنین می‌تواند آرگومان‌های کلیدی بیشتری دریافت کند.

ساخت URL به صورت پویا در فریم ورک فلسک

تصویر(8)

ورودی و خروجی:

  • با وارد کردن آدرس http://localhost:5000/user/admin، خروجی زیر نمایش داده می‌شود:

Hello Admin

  • با وارد کردن آدرس http://localhost:5000/user/ABC، خروجی زیر نمایش داده می‌شود:

Hello ABC as Guest

متدهای HTTP در فریم ورک Flask

Flask پروتکل‌های مختلف HTTP را برای بازیابی داده‌ها از URL پشتیبانی می‌کند. این پروتکل‌ها شامل موارد زیر است:

متد

توضیحات

GET

ارسال داده بدون رمزگذاری به سرور.

POST

ارسال داده‌های فرم به سرور؛ داده‌ها توسط سرور کش نمی‌شوند.

HEAD

فقط هدر پاسخ را بدون بدنه (body) ارسال می‌کند.

PUT

جایگزین کردن داده موجود در منبع مشخص شده با داده جدید.

DELETE

حذف منبع مشخص شده.

جدول(1)

ارائه فایل‌های استاتیک در فریم ورک فلسک

برای نمایش فایل‌های استاتیک مانند CSS یا JavaScript، می‌توانید از پوشه static در پروژه خود استفاده کنید. مثال زیر نحوه استفاده از فایل استاتیک را نشان می‌دهد:

ارائه فایل‌های استاتیک در فریم ورک فلسک

تصویر(9)

فایل HTML یا index.html:

ایجاد فایل HTML در فریم ورک فلسک

تصویر(10)

فایل جاوا اسکریپت (hello.js):

ایجاد فایل جاوا اسکریپت در فریم ورک فلسک

تصویر(11)

در اینجا:

  • فایل HTML در پوشه templates قرار دارد.
  • فایل JavaScript در پوشه static ذخیره شده است.

کار با کوکی‌ها در Flask

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

شیء درخواست (Request object) شامل ویژگی‌های کوکی است. این شیء یک دیکشنری از تمام متغیرهای کوکی و مقادیر مربوط به آنها می باشد. همچنین زمان انقضای خود را نیز شامل می‌شود. در فریم ورک فلسک، کوکی‌ها روی شیء پاسخ (response object) تنظیم می‌شوند. در تصویر زیر، مثالی از آن آورده شده است:

کار با کوکی‌ها در فریم ورک فلسک

تصویر(12)

فایل HTML  یا index.html:

فایل HTML برای کار با کوکی‌ها در فریم ورک فلسک

تصویر(13)

فایل HTML یا cookie.html:

فایل cookie.html برای کار با کوکی‌ها در فریم ورک فلسک

تصویر(14)

برنامه فوق را اجرا کنید و به لینک زیر در مرورگر بروید:

http://localhost:5000/

فرم روی آدرس setcookie/ تنظیم شده و تابع set شامل یک کوکی به نام userID است که در صفحه وب دیگری نمایش داده می‌شود. فایل cookie.html شامل یک لینک به تابع نمایشی دیگری با نام ()getcookie است که مقدار کوکی را در مرورگر نمایش می‌دهد.

سشن‌ها (Sessions) در فریم ورک فلسک

در سشن‌ها، داده‌ها سمت سرور ذخیره می‌شوند و تنها در مدت زمانی که کاربر وارد سیستم شده است، نگهداری خواهند شد. این داده‌ها به صورت موقت در پوشه‌ای روی سرور ذخیره می‌شوند. هر کاربر یک شناسه سشن (Session ID) منحصر به فرد دریافت می‌کند.

شیء Session یک دیکشنری است که جفت‌های کلید-مقدار متغیرهای مرتبط با سشن را نگهداری می‌کند. برای رمزگذاری داده‌ها در کوکی‌ها، از SECRET_KEY استفاده می‌شود.

مثال کد:

سشن‌ها (Sessions) در فریم ورک فلسک

تصویر(15)

در این مثال:

  1. مقدار username به سشن اضافه می‌گردد.
  2. داده از سشن بازیابی شده و نمایش داده می‌شود.
  3. سشن پاک خواهد شد.

توابع مهم دیگر در Flask

1. تابع redirect

این تابع کاربر را به مکان دیگری هدایت می‌کند.

نحوه نگارش:

توابع مهم دیگر در فریم ورک فلسک

تصویر(16)

  •   location: آدرس مقصد.
  •   statuscode: کد وضعیت (پیش‌فرض 302).
  •   response: پاسخ اولیه.

مثال:

تابع redirect در فریم ورک فلسک

تصویر(17)

2. تابع abort

برای مدیریت خطاها و ارسال پاسخ‌های HTTP خاص استفاده می‌شود.

نحوه نگارش:

تابع abort در فریم ورک فلسک

تصویر(18)

کدهای خطا:

  • 400: درخواست اشتباه (Bad Request).
  • 401: احراز هویت نشده (Unauthorized).
  • 403: درخواست ممنوع (Forbidden).
  • 404: پیدا نشد (Not Found).
  • 429: درخواست بیش از حد (Too Many Requests).

مثال:

کدهای خطا در فریم ورک فلسک

تصویر(19)

آپلود فایل در Flask

Flask امکان آپلود فایل‌ها را به سادگی فراهم می‌کند. برای این کار نیاز به فرم HTML با enctype و یک هندلر URL است.

کد پایتون:

کد پایتون برای آپلود فایل در فریم ورک فلسک

تصویر(20)

فایل HTML یا upload.html:

فایل HTML برای آپلود فایل در فریم ورک فلسک

تصویر(21)

ارسال داده‌های فرم به سرور در فریم ورک فلسک

در HTML، فرم‌ها برای جمع‌آوری اطلاعات کاربران استفاده می‌شوند. Flask این داده‌ها را دریافت کرده و به یک تابع ارسال می‌کند.

ارسال داده‌های فرم به سرور در فریم ورک فلسک

تصویر(22)

فایل HTML یا student.html:

فایل HTML برای ارسال داده‌های فرم به سرور در فریم ورک فلسک

تصویر(23)

فایل HTML یا result.html:

فایل result.html برای ارسال داده‌های فرم به سرور در فریم ورک فلسک

تصویر(24)

پیام‌های هشدار (Alerts) در Flask

برای نمایش پیام‌های هشدار یا خطا، از تابع ()flash استفاده می‌شود.

نحوه نگارش:

پیام‌های هشدار (Alerts) در فریم ورک فلسک

تصویر(25)

  • message: متن پیام.
  • category: دسته پیام (اختیاری، مثلاً error یا info).

مثال :

نحوه نگارش پیام‌های هشدار (Alerts) در فریم ورک فلسک

تصویر(26)

جمع‌بندی

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

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

اشتراک گذاری:

نظرات

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

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