فلسک چیست؟

بدون ديدگاه

فسلک چیست؟

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

مزیت های فلسک

۱ـ‌ سریع بودن ۲ـ توانایی نوشتن صفر تا صد سایت ۳ـ میکرو فریم ورکی ساده در عین حال قدرتمند ۴ـیاد گیری آسان ۵ـانعطاف پذیری

معایب فلسک

۱ـ برای طراحی سایت فلسک کافی نیست :شما باید چیزهای اضافی به جز فلسک یاد بگیرید مانند ORM ۲ـانعظاف پذیری زیاد : در بعضی مواقع شما باید ساعت ها وقت بزارید تا ببینید چه کار هایی برای یک قسمت سایت میتوانید انجام بدهید البته از نظر بعضی ها این یک.مزیت به حساب می آید

virtualenv چیست؟!

یک محیط ایزوله یعنی جدا از سیستم ایجاد میکند تا شما کد هایتان را در آن بزنید بدون تداخل داشتن با کد های دیگر . فرض کنید شما یک پروژه دارید که با پایتون ۳٫۵ نوشته شده است ولی در همان زمان میخوتهید یک پروژه جدید بزنید که با پایتون ۳٫۸ باشد . خوب چیکار باید کرد؟ اینجاست که virtual environment به کمک شما می آید و محیط جدا از م ایجاد میکند تا شما در آن کد های هودتان را اجرا گنید .

یک hello world ساده در فلسک

اول برای اجرای فلسک باید آنرا در محیط مجازی نصب کنیم (virtualenv برا نصب محیط مجازی از پکیج منیجر pip استفاده میکنیم به این صورت :

pip install virtualenv --user

و برای استفاده از آن در ویندوز مراحل زیر را طی میکنیم :

python-m virtualenv venv
venv Sriptsactivate

و بعد از این مراحل میبیند که کنار مسیری که شما درش قرار دارید عبارت venv نوشته شده است

استفاده از محیط مجازی در گنو/لینوکس:

python-m virtualenv venv
 /venv/bin/activate

و همان اتفاقی که در ویندوز می افتد در اینجا هم می افتد. و حالا بریم سزاغ کدی که باید بزنیم ! اول از همه باید فلسک رو نصب کنیم <<توجه داشته باشید محیط مجازی باید فعال باشد>>

pip intsall flask

و داخل پوشه venv خودمون یک فایل با نام app.py میسازیم با محتویات زیر

 

from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
    "return "hello world of flask !"

و برای اجرا کافیست داخل خط فرمان عبارت

flask run

رو بزنید تا برای شما اجرا بشه و سایت شما داخل ادرس ۱۲۷٫۰٫۰٫۱:۵۰۰۰ قرار داره

تحلیل کد

در خط اول خوب معلومه ما فلسک رو به کد خودمون آوردیم برای فهمیدن خط دوم شما باید بدونید ما یک سری

متغییر های از پیش تعریف شده داریم داخل پایتون که چند چیز رو به ما نشون میدن __name__ مثلا نام فایل مارو

نشون میده و تابع Flask این اسم رو دریافت و داخل خودش نگه میداره تا برای اجرای سرور استفاده بکنه در خط سوم

ما ما گفتیم که هر درخواستی به ادرس / سایت اومد (که صفحه اصلی سایته) کارایی که زیر میگیمو بکن در خط چهارم

ما یک تابع تعریف کردیم تا فلسک کارایی که میخواد بکنه رو از توی اون بخونه و انجام بده حالا گفتیم چیکار بکنه ؟! گفتیم

اومدن داخل براشون برگشت بده سلام دنیای فلسک رو نکته اینه که از تابع print استفاده نمیتونیم بکنیم چون درواقع ما

چیزی رو چاپ نمیکنیم فقط وقتی کلاینت یا کاربر وارد سایت شد این براش برگشت داده میشه مثل یک جواب انعکاسی

کار هایی دیگر با فلسک

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

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

را رندر کرد در فلسک ماژولی به نام render_templat‌e وجود دارد که این کار را برای ما اسان میکند اما حالا چطور باید از

آن استفاده کرد؟! در مرحله اول ما باید یک پوشه به نام template بسازیم و داخل آن کار های فرانت اند رو انجام بدیم

چون فعلا بحث ما بحث فرانت نیست در آن یک index.html میسازم با محتویات زیر

<html>
    <body>
        <p> hello world of Flask ! </p>
    </body>
</html>

و حالا داخل app.py محتویات زیر رو قرار میدهیم و به همان صورت قبلی سرور خود را اجرا میکنیم

flask run

و دوباره سایت ما داخل آدرس ۱۲۷٫۰٫۰٫۱:۵۰۰۰ قابل مشاهده هست و میبینید که عبارت we are in index.html

نوشته شده است در واقع شما هرچیزی که داخل index.html بزارید اینجا قابل مشاهده هست و میتونید به css وصلش کنید به javascript یا …

اما ما چیکار کردیم؟!

تقریبا کد مثل دفعه قبل ما در خط اول جز فلسک همون render_template رو بهش اضافه کردیم ولی

در خط آخر. یادتونه گفتم مثل جواب انعکاسی یه چیزی رو برمیگردونیم؟ اینم همونه در انعکاس

اینکه کاربر اومد داخل سایت اون فایل های فرانت رو استفاده کن و رندر کن به معنی اینکه برای نمایش نشونش بده

چند کار دیگه با فلسک…

استفاده از حلقه و شرط داخل html

برای اینکار به سادگی تمام میتونید با استفاده از {% %} اینکارو انجام بدید البته برای انجام اینکار

نیاز دارید که متغییر داشته باشید و برای اینکار نیاز داریم کد زیر رو بزنیم Code به این صورت که مثلا اگر بخواهید if بنویسید اینکارو میکنید

<body>
   {%if CONDITION%}
       STATEMENT
   {%endif%}
</body>

و حلقه for

<body>
    {%if CONDITION%}
        STATEMENT
    {%endif%}
</body>

دستور های ما داخل {٪ ٪} قرار میگیرند و بعد از پایان هر دستور باید پایان یافتن آنرا اعلام کنید مانن

د کد فوق که اعلام شده این درواقع از خود فلسک نیست و یک تمپلیت انجینی است که توسط تیمی که

Flask را ساخته است طراحی شده به نام Jinja2 که البته فقط در  فلسک استفاده نمیشه و داخل جنگو هم بسیار کاربرد داره .

کمی توضیحات اضافی:

برای اینکه شما بیشتر بدونید فلسک در واقع به شوخی به وجود آمد به مناسبت دروغ آپریل

و تیم پالت از ایدشون خوشش اومد و این شوخ رو تبدیل به یکی از بهترین ابزار های

توسعه سایت دنیا. لیستی از شرکت هایی  که از فلسک اسفاده میکنند

Redhat Airbnb Netflix Uber MIT ...

شما به سادگی میتوانید فلسک را یاد بگیرید و در عرض چند روز بعد حرفه ایی

بشوید ولی چیزی که هست اینه که یاد گیری فلسک کافی نیست و شما باید چیزایی مثل ORM و … را یاد بگیرید

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

. با تشکر از جناب اقای امیر رحمانی بابت ارائه این مطلبشون در وب سایت پایتونز

نوشتن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.