ساخت وب‌سایت با Flask: یک آموزش جامع

ساخت وب‌سایت با 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 بهبود بخشید و برنامه‌های کاربردی جذاب‌تری را ایجاد کنید.

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *