تنظیمات templates و پاسخ با صفحات

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/11/14
  • تعداد بازدید: 5

در Flask شما می‌توانید HTML را به دو روش برگردانید:

  • HTML مستقیم در کد: می‌توانید محتوای HTML را به صورت رشته‌ای در تابع مسیر بازگردانید.
  • HTML از فایل قالب: با استفاده از فایل‌های HTML در پوشه templates و تابع render_template، می‌توانید صفحات HTML داینامیک بسازید و بازگردانید.

چگونه پوشه templates را مشخص کنیم

به صورت پیش‌فرض Flask پوشه‌ای به نام templates در کنار فایل اصلی پروژه شما (app.py) جستجو می‌کند. اگر می‌خواهید مسیر دیگری برای قالب‌ها مشخص کنید، هنگام ایجاد اپلیکیشن می‌توانید از آرگومان template_folder استفاده کنید:

from flask import Flask

# مشخص کردن پوشه قالب
app = Flask(__name__, template_folder="my_templates")

بازگرداندن یک صفحه ساده از فایل قالب

پس از مشخص کردن پوشه قالب، می‌توانید یک فایل HTML ساده ایجاد کرده و آن را بازگردانید:

project/
├── app.py
└── templates/
    └── index.html
<!-- templates/index.html -->
<!DOCTYPE html>
<html lang="fa">
<head>
    <meta charset="UTF-8">
    <title>Home</title>
</head>
<body>
    <h1>سلام Flask!</h1>
</body>
</html>
from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def home():
    return render_template("index.html")

در این حالت با باز کردن مسیر / در مرورگر، محتوای فایل index.html رندر شده و نمایش داده می‌شود.

بازگشت پاسخ بدون فایل (متن ساده یا HTML inline)

@app.route("/")
def html_inline():
    return "<h1>Hello HTML Inline</h1>"

مزیت استفاده از فایل قالب نسبت به HTML مستقیم این است که می‌توانید داده‌ها را داینامیک کنید، بلوک‌ها و inheritance داشته باشید و ساختار پروژه شما تمیزتر و قابل نگهداری‌تر باشد.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد
0/600

دیدگاه کاربران (0)


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