Kahibaro
Discord Login Register

آشنایی با Flask

شروع کار با Flask

در این بخش با یک فریم‌ورک سبک و محبوب برای توسعهٔ وب با پایتون به نام Flask آشنا می‌شوید و اولین برنامهٔ وب خود را با آن اجرا می‌کنید.

Flask چیست و چه ویژگی‌هایی دارد؟

Flask یک فریم‌ورک وبِ:

چند ویژگی مهم Flask:

در این فصل، فقط با بخش‌های پایه‌ای Flask آشنا می‌شوید تا بتوانید یک وب‌سرور ساده بسازید. جزئیات بیشتر مثل قالب‌ها، فرم‌ها و API ها در بخش‌های بعدی همین فصل می‌آیند.

نصب Flask

برای استفاده از Flask ابتدا باید آن را نصب کنید. بهتر است این کار را در یک محیط مجازی (virtual environment) انجام دهید، اما جزئیات محیط مجازی را در اینجا باز نمی‌کنیم.

۱. مطمئن شوید pip روی سیستم شما کار می‌کند (در فصل کتابخانه‌ها و نصب با pip توضیح داده می‌شود).

۲. در ترمینال یا خط فرمان بنویسید:

pip install flask

اگر از python -m pip استفاده می‌کنید:

python -m pip install flask

پس از نصب، می‌توانید با دستور زیر نسخهٔ Flask را ببینید:

python -m flask --version

اگر خطایی نداشتید و نسخه نمایش داده شد، Flask آمادهٔ استفاده است.

ساخت اولین پروژهٔ Flask

برای کار با Flask معمولاً یک پوشهٔ پروژه می‌سازیم و داخل آن فایل‌های پایتون و دیگر فایل‌های مربوط به وب‌سایت را قرار می‌دهیم.

۱. یک پوشه جدید برای پروژه بسازید، مثلاً:

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

ساخت فایل (مثلاً با ویرایشگر متن یا VS Code) و ذخیره کردن آن را قبلاً تمرین کرده‌اید؛ در اینجا فقط روی کد تمرکز می‌کنیم.

ساده‌ترین برنامهٔ Flask

در فایل app.py این کد را بنویسید:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
    return "سلام دنیا از Flask!"
if __name__ == "__main__":
    app.run()

این یک وب‌برنامهٔ بسیار ساده است. در ادامه فقط اجزای مخصوص Flask را توضیح می‌دهیم:

اجرای برنامهٔ Flask

برای اجرای همین برنامه:

۱. ترمینال (یا خط فرمان) را باز کنید.

۲. به پوشه‌ای که app.py در آن قرار دارد بروید، مثلاً:

cd مسیر_پروژه_شما

۳. برنامه را اجرا کنید:

python app.py

اگر همه چیز درست باشد، باید در ترمینال چیزی شبیه این ببینید:

 * Serving Flask app 'app'
 * Running on http://127.0.0.1:5000

حالا مرورگر را باز کنید و آدرس زیر را وارد کنید:

باید متن زیر را ببینید:

سلام دنیا از Flask!

برای متوقف کردن برنامه، به ترمینال برگردید و Ctrl + C را بزنید.

درک مسیرها (Routes) در Flask

مسیر یا Route تعیین می‌کند که وقتی کاربر یک آدرس خاص از سایت شما را باز می‌کند، چه کدی اجرا شود.

نمونهٔ صفحهٔ اصلی:

@app.route("/")
def home():
    return "این صفحهٔ اصلی است."

نمونهٔ صفحهٔ دربارهٔ ما:

@app.route("/about")
def about():
    return "این صفحهٔ دربارهٔ ما است."

در این مثال:

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

نمایش HTML به‌جای متن ساده

Flask می‌تواند مستقیماً HTML را هم برگرداند. در این مرحله، بدون ورود به بحث قالب‌ها (Templates)، فقط یک نمونه‌ی ساده‌ی HTML برمی‌گردانیم:

@app.route("/")
def home():
    return "<h1>خوش آمدید</h1><p>این اولین صفحهٔ وب شما با Flask است.</p>"

مرورگر این متن را مثل یک صفحهٔ HTML تفسیر می‌کند و تگ‌های <h1> و <p> را به‌صورت تیتر و پاراگراف نمایش می‌دهد.

در بخش «مسیرها و قالب‌ها (Templates)» یاد می‌گیرید که چطور HTML را در فایل‌های جداگانه نگه دارید.

حالت اشکال‌زدایی (Debug Mode) در Flask

در زمان توسعه، مفید است که:

برای این کار می‌توانید debug=True را به app.run اضافه کنید:

if __name__ == "__main__":
    app.run(debug=True)

هشدار:
حالت debug=True فقط برای توسعه و روی کامپیوتر خودتان است. برای محیط واقعی (Production) استفاده از آن امن نیست، اما در این دوره روی مبانی و تمرین‌های محلی تمرکز می‌کنیم.

متغیر در آدرس (Route Parameters) – مقدماتی

گاهی می‌خواهید بخش‌هایی از آدرس را به‌صورت متغیر بگیرید. برای نمونه:

می‌توانید این کار را در Flask این‌طور انجام دهید:

@app.route("/user/<name>")
def user_page(name):
    return f"سلام {name}!"

اکنون:

اینجا:

این امکان در بخش‌های بعدی برای ساخت صفحات پویا و کار با فرم‌ها بسیار مفید خواهد بود.

ساختار سادهٔ یک پروژهٔ Flask

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

در این زیرعنوان فقط اشاره می‌کنیم که Flask ساختار مشخصی را پیشنهاد می‌دهد تا پروژه‌ها مرتب‌تر شوند؛ در بخش «مسیرها و قالب‌ها» و ادامهٔ فصل بیشتر با این ساختار کار خواهید کرد.

جمع‌بندی

در این بخش یاد گرفتید:

در بخش‌های بعدی این فصل، روی ساخت یک وب‌سرور ساده، کار با قالب‌ها (Templates) و پردازش ورودی کاربر تمرکز می‌کنیم تا برنامه‌های وب کاربردی‌تری بسازید.

Views: 6

Comments

Please login to add a comment.

Don't have an account? Register now!