آموزش سریع و رایگان فلسک | روز ششم: ارسال داده به تمپلیت
وقتی از تمپلیت استفاده نمیکردیم خیلی راحت میشد دیتا رو با یه استرینگ با f-string مخلوط کرد و به کاربر نشون داد. اما حالا چطور میشه؟! حالا که داریم از تمپلیتها استفاده میکنیم؟ اینجا ما باید از موتور jinja2 استفاده کنیم. جینجا یه موتور تمپلیت هستش که ما میتونیم باهاش داخل تگهای html کد بنویسیم! و ارتباط بین بکاند و فرانتاند رو برقرار کنیم. مثال دیروز یادتونه؟ یه مسیر خیلی ساده داشتیم:
@app.route("/")
def home():
return render_template("home.html")
بیاین به این تغییرش بدین:
@app.route("/")
def home():
return render_template("home.html", name="ali")
اینجا ما یه متغیر به نام name و با مقدار ali ارسال کردیم به home.html... حالا اگر صفحه رو رفرش کنید هیچ تغییری حس نمیکنید! خب بایدم نکنید! چون هنوز ازش استفاده نکردیم... توی jinja2 برای نشون دادن مقدار یک متغیر از {{}} استفاده میکنیم. مثلا توی تمپلیت دیروز اگر بخوایم اون name رو استفاده کنیم اینطوریه:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MyWebsite</title>
</head>
<body>
<center>
<h1>Hello to {{ name }}.</h1>
<h2>Programmer: mr robot</h2>
<p>this is another text just for fun!</p>
</center>
</body>
</html>
خط 10 رو دقت کنید. حالا اگر همه چی رو ذخیره کنید و برنامه رو اجرا کنید میبینید که توی صفحه اصلی به مقدار اون متغیری که ساختین سلام میکنه! اگر یه وقت خواستین یه چیز دیگه ارسال کنید اینطوریه:
return render_template("home.html", name="ali", age=27)
اونوقت میتونیم از {{ age }} هم استفاده کنیم. (راستی این فاصلهها که میذارم برای قشنگیه! تاثیری توی کد نداره!
پس تا الان فهمیدیم که توی render_template سمت چپی، اسمی هستش که باید توی تمپلیت استفاده کنیم و سمت راستی مقداری هستش که توی بخش بکاند اعتبار داره. پس اینو ببینید:
name = "ali
return render_template("home.html", name=name, age=27)
توی render_template اون name سمت چپی، چیزیه که ساختیم تا توی تمپلیت ازش استفاده کنیم و name سمت راستی داریم میگیم که مقدارش مساوی با مقدار متغیر name توی بکاند باشه. امیدوارم گیج نشده باشین! حالا اگر شدینم که دیگه کار از کار گذشته! بعدا درست میشه...!
حمایت از این مجموعه آموزشی 💖
این مجموعه آموزشی به رایگان در اختیار شما قرار داده شده ولی اگر دوست داشتین همیشه میتونید از من حمایت کنید. با خریدن یه قهوه برام! لینک حمایت مالی از آقای ربات (40 هزار تومان به بالا)