آشنایی با متد get_template_attribute در Flask 3.0
فلاکس (Flask) یکی از فریمورکهای محبوب پایتون برای ساخت وب اپلیکیشنها است. یکی از ویژگیهای جالب این فریمورک قابلیت استفاده از تابع get_template_attribute
میباشد. این تابع به شما کمک میکند که از ویژگیهای یک تمپلیت به راحتی استفاده کنید و کد خود را ساختاریتر و مرتبتر بنویسید.
تابع get_template_attribute
به شما اجازه میدهد تا یک تمپلیت خاص را بارگذاری کنید و سپس به متغیرهای داخل آن دسترسی داشته باشید. این کار خصوصاً زمانی مفید است که بخواهید اجزای تکراری را در صفحات مختلف وبسایت خود استفاده کنید، بدون اینکه کد تکراری بنویسید.
برای استفاده از این تابع، کافیست نام تمپلیت و نام ویژگی مورد نظر را مشخص کنید. سپس میتوانید این ویژگی را در دیگر تمپلیتها یا در کدهای پایتون خود فراخوانی کنید. به طور کلی، این تکنیک به شما کمک میکند که کد خود را تمیز نگهدارید و از تکرار غیرضروری جلوگیری کنید.
در اینجا ما یک مثال ساده از چگونگی استفاده از get_template_attribute
را بررسی خواهیم کرد. با استفاده از این تابع میتوانیم بخشی از یک تمپلیت را در تمپلیت دیگر درونریزی کنیم و به راحتی آن را نمایش دهیم.
مثال عملی
<!-- main.html -->
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>نمونه فلاکس</title>
</head>
<body>
<h1>سلام دنیا!</h1>
<div>
{{ get_template_attribute('component.html', 'my_component', {'title': 'عنوان من'}) }}
</div>
</body>
</html>
<!-- component.html -->
<div>
<h2>{{ title }}</h2>
<p>این یک کامپوننت است.</p>
</div>
در این مثال، ما دو تمپلیت داریم: main.html
و component.html
. در main.html
، ما از تابع get_template_attribute
برای بارگذاری و نمایش کامپوننت موجود در component.html
استفاده کردیم.
توضیحات کد
<!-- main.html -->
این خط مشخص میکند که ما در حال نوشتن تمپلیت اصلی هستیم.
<!DOCTYPE html>
تعریف نوع سند HTML.
<html lang="fa">
شروع تگ html با زبان فارسی.
<head>
شروع بخش سرصفحه سند.
<meta charset="UTF-8">
تنظیم کدگذاری کاراکترها.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
تنظیم اندازه ویوپورت برای طراحی ریسپانسیو.
<title>نمونه فلاکس</title>
عنوان وبسایت که در نوار مرورگر نمایش داده میشود.
</head>
پایان بخش سرصفحه.
<body>
شروع بخش بدنه سند HTML.
<h1>سلام دنیا!</h1>
عنوان اصلی صفحه وب.
{{ get_template_attribute('component.html', 'my_component', {'title': 'عنوان من'}) }}
فراخوانی کامپوننت از تمپلیت دیگر با استفاده از
get_template_attribute
و تعیین یک مقدار برای title
.</body>
پایان بخش بدنه.
</html>
پایان سند HTML.
<!-- component.html -->
این خط مشخص میکند که ما در حال نوشتن تمپلیت کامپوننت هستیم.
<div>
شروع تگ div برای ایجاد یک بخش.
<h2>{{ title }}</h2>
نمایش عنوانی که از
main.html
ارسال شده است.<p>این یک کامپوننت است.</p>
متنی ساده به عنوان توضیح کامپوننت.
</div>
پایان تگ div.