آشنایی با Flask و ثبت Blueprint ها
شاید تا به حال اسم Flask به گوشتون خورده باشه. Flask یک فریمورک وب برای زبان برنامهنویسی پایتون است که به خاطر سادگی و کاراییاش شناخته شده. یکی از ویژگیهای جالب Flask اینه که میتونید پروژههای بزرگ رو به چندین قسمت کوچکتر تقسیم کنید و این کار به راحتی با استفاده از Blueprint ها انجام میشه. در واقع، Blueprint ها به شما کمک میکنن که قابلیتهای مختلف وباپلیکیشنتون رو سازماندهی و مدیریت کنید.
حالا شاید سوال این باشه که Blueprint دقیقا چی هست؟ یک Blueprint در Flask مانند یک الگو یا طرح داخلی هست که میتونید در چندین جا از اپلیکیشنتون استفاده کنید. به عبارت دیگه، با استفاده از Blueprint میتونید بخشهای مختلف اپلیکیشن خودتون رو به صورت ماژولار ساختاردهی کنید. به این ترتیب، وقتی اپلیکیشنتون بزرگتر میشه، راحتتر میتونید با ساختار کدها کار کنید و همچنین راحتتر قابلیتهای جدید بهش اضافه کنید.
حالا برای اینکه از یک Blueprint استفاده کنید و اون رو ثبت کنید، شما به تابع register_blueprint()
نیاز دارید. این تابع به شما این امکان رو میده که یک Blueprint رو به اپلیکیشن اصلی Flask ثبت کنید. این ثبت به شما این امکان رو میده که روتها و سایر ویژگیهای Blueprint رو به اپلیکیشن اضافه کنید.
بیایید نگاهی به کد زیر بندازیم که صریح و روشن این روند رو نشون میده. در این مثال، ما یک اپلیکیشن Flask ساده رو با استفاده از یک Blueprint گسترش میدیم و میبینیم چطور میتونیم از register_blueprint()
استفاده کنیم.
from flask import Flask, Blueprint
# تعریف یک Blueprint
my_blueprint = Blueprint('my_blueprint', __name__)
@my_blueprint.route('/hello')
def hello():
return "سلام از Blueprint!"
# ایجاد اپلیکیشن Flask
app = Flask(__name__)
# ثبت Blueprint در اپلیکیشن
app.register_blueprint(my_blueprint)
if __name__ == '__main__':
app.run(debug=True)
تحلیل کد
کد 1: from flask import Flask, Blueprint
در این خط، ما Flask
و Blueprint
رو از کتابخانه Flask import میکنیم.
کد 2: my_blueprint = Blueprint('my_blueprint', __name__)
در اینجا ما یک Blueprint به نام my_blueprint
تعریف میکنیم. __name__
به Flask میگه این Blueprint مربوط به کد فعلی هست.
کد 3: @my_blueprint.route('/hello')
این خط یک روت جدید /hello
به my_blueprint
اضافه میکنه.
کد 4: def hello(): return "سلام از Blueprint!"
اینجا یک تابع به نام hello
داریم که وقتی به روت /hello
مراجعه میکنید، عبارت "سلام از Blueprint!" رو برمیگردونه.
کد 5: app = Flask(__name__)
در اینجا ما یک اپلیکیشن Flask جدید ایجاد میکنیم.
کد 6: app.register_blueprint(my_blueprint)
با این خط، ما my_blueprint
رو به اپلیکیشن main اضافه میکنیم.
کد 7: if __name__ == '__main__': app.run(debug=True)
این خط باعث میشه که اپلیکیشن در حال توسعه اجرا بشه.