ساخت وبسایت با Flask: یک آموزش جامع
Flask یک فریمورک توسعه وب سبک و انعطافپذیر برای زبان برنامهنویسی پایتون است. این فریمورک به دلیل سادگی و قابلیت گسترشپذیری، به یکی از محبوبترین گزینهها برای توسعهدهندگان وب تبدیل شده است. این مقاله به شما کمک میکند تا با مفاهیم اساسی Flask آشنا شده و یک وبسایت ساده را با استفاده از آن ایجاد کنید. این آموزش برای کسانی که با پایتون آشنایی اولیه دارند و به دنبال ورود به دنیای توسعه وب با پایتون هستند، مناسب است.
پیشنیازها
قبل از شروع، اطمینان حاصل کنید که موارد زیر را دارید:
- پایتون (نسخه 3.6 یا بالاتر)
- یک ویرایشگر کد (مانند VS Code، PyCharm یا Sublime Text)
- آشنایی اولیه با مفاهیم برنامهنویسی پایتون (متغیرها، توابع، حلقهها و غیره)
نصب Flask
برای نصب Flask، میتوانید از pip، مدیر بسته پایتون، استفاده کنید. ترمینال یا خط فرمان خود را باز کنید و دستور زیر را اجرا کنید:
pip install Flask
پس از اتمام نصب، میتوانید با اجرای دستور flask --version از نصب صحیح Flask اطمینان حاصل کنید.
ایجاد اولین برنامه Flask
حالا وقت آن است که اولین برنامه Flask خود را ایجاد کنید. یک فایل پایتون با نام app.py ایجاد کنید و کد زیر را در آن قرار دهید:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "سلام، دنیا!
"
if __name__ == '__main__':
app.run(debug=True)
بیایید این کد را بررسی کنیم:
from flask import Flask: این خط، کلاسFlaskرا از ماژولflaskوارد میکند.app = Flask(__name__): این خط، یک نمونه از کلاسFlaskایجاد میکند.__name__نام ماژول فعلی را نشان میدهد.@app.route("/"): این یک دکوراتور است که مسیر URL را به یک تابع متصل میکند. در این مورد، مسیر “/” (صفحه اصلی) به تابعhello_worldمتصل شده است.def hello_world():: این تابع، وقتی کاربر به مسیر “/” مراجعه میکند، اجرا میشود.return ": این خط، یک رشته HTML را به عنوان پاسخ به مرورگر ارسال میکند.سلام، دنیا!
"
if __name__ == '__main__':: این بلوک کد، فقط زمانی اجرا میشود که فایلapp.pyبه طور مستقیم اجرا شود (نه زمانی که به عنوان یک ماژول وارد شود).app.run(debug=True): این خط، سرور توسعه Flask را راهاندازی میکند.debug=Trueحالت اشکالزدایی را فعال میکند، که به شما امکان میدهد تغییرات کد را بدون نیاز به راهاندازی مجدد سرور مشاهده کنید.
برای اجرای برنامه، ترمینال خود را باز کنید و به دایرکتوری حاوی فایل app.py بروید. سپس دستور زیر را اجرا کنید:
python app.py
در خروجی ترمینال، پیامی مشابه زیر مشاهده خواهید کرد:
* Serving Flask app 'app' * Debug mode: on * Running on http://127.0.0.1:5000
حالا مرورگر خود را باز کنید و به آدرس http://127.0.0.1:5000 بروید. باید پیام “سلام، دنیا!” را مشاهده کنید.
مسیرها و توابع View
Flask از مسیرها (Routes) برای نگاشت URLها به توابع View استفاده میکند. توابع View، منطق برنامه را برای رسیدگی به درخواستهای HTTP اجرا میکنند. دکوراتور @app.route() برای تعریف مسیرها استفاده میشود.
میتوانید مسیرهای مختلفی را برای رسیدگی به درخواستهای مختلف تعریف کنید. به عنوان مثال:
@app.route("/about")
def about():
return "درباره ما
"
@app.route("/user/")
def show_user_profile(username):
return f"پروفایل کاربر: {username}"
در مثال بالا:
/about: یک مسیر ثابت است که به تابعaboutمتصل شده است./user/: یک مسیر پویا است که شامل یک متغیرusernameاست. این متغیر در تابعshow_user_profileقابل دسترسی است.
استفاده از Templateها
برای ایجاد صفحات وب پویا، میتوانید از Templateها استفاده کنید. Templateها فایلهای HTML هستند که میتوانند شامل متغیرها و منطق کنترلی باشند. Flask از موتور Template Jinja2 استفاده میکند.
برای استفاده از Templateها، ابتدا باید یک دایرکتوری با نام templates در کنار فایل app.py ایجاد کنید. سپس یک فایل HTML با نام index.html در این دایرکتوری ایجاد کنید و کد زیر را در آن قرار دهید:
صفحه اصلی
سلام، {{ name }}!
حالا فایل app.py خود را به روز کنید:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
name = "کاربر"
return render_template("index.html", name=name)
در این کد:
render_template("index.html", name=name): این تابع، فایلindex.htmlرا رندر میکند و متغیرnameرا به آن ارسال میکند.{{ name }}: این یک عبارت Jinja2 است که مقدار متغیرnameرا در Template نمایش میدهد.
حالا مرورگر خود را باز کنید و به آدرس http://127.0.0.1:5000 بروید. باید پیام “سلام، کاربر!” را مشاهده کنید.
دریافت داده از فرمها
Flask به شما امکان میدهد دادهها را از فرمهای HTML دریافت کنید. برای این کار، باید از شیء request استفاده کنید.
ابتدا یک فایل HTML با نام form.html در دایرکتوری templates ایجاد کنید و کد زیر را در آن قرار دهید:
فرم
حالا فایل app.py خود را به روز کنید:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/", methods=["GET", "POST"])
def index():
if request.method == "POST":
name = request.form["name"]
return f"سلام، {name}!"
return render_template("form.html")
در این کد:
methods=["GET", "POST"]: این مشخص میکند که تابعindexهم درخواستهای GET و هم POST را میپذیرد.request.method == "POST": این بررسی میکند که آیا درخواست از نوع POST است یا خیر.request.form["name"]: این مقدار فیلدnameرا از فرم دریافت میکند.
حالا مرورگر خود را باز کنید و به آدرس http://127.0.0.1:5000 بروید. باید فرم را مشاهده کنید. پس از وارد کردن نام و ارسال فرم، باید پیام “سلام، [نام]!” را مشاهده کنید.
نتیجهگیری
در این مقاله، با مفاهیم اساسی Flask آشنا شدیم و یک وبسایت ساده را با استفاده از آن ایجاد کردیم. Flask یک فریمورک قدرتمند و انعطافپذیر است که به شما امکان میدهد برنامههای وب پویا و پیچیدهای را به راحتی ایجاد کنید. با تمرین و مطالعه بیشتر، میتوانید مهارتهای خود را در توسعه وب با Flask بهبود بخشید و برنامههای کاربردی جذابتری را ایجاد کنید.

بدون دیدگاه