آشنایی با Flask 3.0 و روش استفاده از Flask.run()

introduction to flask 3.0 and usage of flask run
20 آبان 1403

Flask یکی از محبوب‌ترین فریم‌ورک‌های وب برای زبان پایتون است که امکان ساخت سریع و سادهٔ وب‌سایت‌ها و API‌ها را فراهم می‌کند. در نسخهٔ 3.0، چرا خیلی از توابع و ساختارهای این فریم‌ورک دچار تغییراتی مسیر بهبود عملکرد و سادگی کلاک‌ود شده‌اند. یکی از مهم‌ترین توابع در برنامه‌های Flask، تابع Flask.run() است که برای اجرای برنامهٔ ما ضروری است.

با استفاده از Flask.run()، ما به راحتی می‌توانیم سرور توسعه محلی خود را برپا کرده و برنامه خود را در مرورگر آزمایش کنیم. این عملکرد در برنامه‌نویسی به ما کمک می‌کند تا به سرعت تغییرات اعمال شده در کد خود را مشاهده کرده و برنامه را دیباگ کنیم.

در نسخه‌های اخیر Flask، استفاده از این تابع نسبت به روش‌های قدیمی‌تر مثل app.run() تغییرات کوچکی داشته که عملکزد و کاربلافراشد را بهبود بخشیده است. این تغییرات شامل پشتیبانی بهتری از قابلیت‌های امنیتی و سرعت بیشتر در فرایند اجرا می‌باشد.

یکی از تغییرات مهم دیگر، امکان سفارشی‌سازی بهتر است که به توسعه‌دهندگان اجازه می‌دهد تا به راحتی پورت و آدرس IP خاصی را برای برنامه خود تنظیم کنند. با این روش، کنترل بیشتری بر روی محیط توسعهٔ خود خواهند داشت.

در نهایت، باید به این نکته اشاره کرد که Flask.run طراحی شده تا تنها در محیط‌های توسعه استفاده شود و برای محیط‌های تولیدی (Production) توصیه نمی‌شود. برای انتشار برنامه‌های خود در اینترنت، بهتر است از سرورهای وِب استانداردی مانند Gunicorn یا uWSGI استفاده کنید.

نمونه کد


from flask import Flask

app = Flask(__name__)

@app.route("/")
def home():
    return "Hello, World!"

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', port=5000)

توضیح خط به خط کد

from flask import Flask
کتابخانه Flask را وارد می‌کند.
app = Flask(__name__)
یک نمونه از کلاس Flask می‌سازد با استفاده از نام ماژول فعلی.
@app.route("/")
مشخص می‌کند که چه URLی چه تابعی را فراخوانی کند.
def home():
تابعی می‌سازد که پیغامی برمی‌گرداند.
return "Hello, World!"
پیغام «Hello, World!» را به مرورگر می‌فرستد.
if __name__ == "__main__":
چک می‌کند که آیا مستقیماً از فایل اجرا می‌شود.
app.run(debug=True, host='0.0.0.0', port=5000)
سرور توسعه را روی پورت 5000 و با تنظیمات دیباگ اجرا می‌کند.

سوالات متداول

؟

چرا باید از Flask.run() استفاده کنیم؟

؟

آیا Flask.run() برای محیط تولید مناسب است؟

؟

چگونه می‌توان پورت اجرای Flask را تغییر داد؟