Rules در فلسک
در این مقاله قصد داریم در مورد نحوه آدرس دهی و اینکه در هر آدرس کدام متد اجرا شود بحث کنیم. برای شروع سعی کنید حتما مقاله قبلی در مورد آشنایی با فلسک را مطالعه کنید.
با افزودن متغیر به پارامتر rule میتوان یک URL را به صورت داینامیک، ساخت. این متغیر در پارامتر rule به صورت <variable-name> نشان داده میشود و به صورت آرگومان برای تابع مربوط به آدرس خود ارسال میشود.
در مثال زیر، پارامتر rule در route() شامل متغیر <name> است که به آدرس (‘/hello’) چسبانده شده است. حال اگر برنامه را اجرا کنیم و آدرس http://localhost:5000/hello/zerotoheroir را وارد کنیم zerotoheroir به عنوان آرگومان برای تابع hello_world() فرستاده میشود.
from flask import Flask app = Flask( __name__ ) @app.route( '/hello/<name>' ) def hello_world(name): return 'Hello %s' %name if __name__ == '__main__': app.run( )
برای امتحان کدهای بالا را در یک فایل hero.py ذخیره و سپس اجرا کنید. صفحه مرورگر را باز کرده و آدرس http://localhost:5000/hello/zerotoheroir را وارد کنید. خروجی زیر در مرورگر نشان داده میشود:
Hello zerotoheroir
البته میتوانید به جای zerotoheroir هر نام دیگری را در آدرس وارد کرده و خروجی را مشاهده کنید. پارامتر rule به صورت پیش فرض مقدار رشته ای میپذیرد اما میتواند با تبدیل کننده های int , float , path ساخته شود.
در مثال زیر همه این سازنده ها به کار رفته اند :
from flask import Flask app = Flask(__name__) @app.route('/zerotohero/<int:postID>') def show_blog(postID): return 'Blog Number %d' % postID @app.route('/zerotohero/<float:revNo>') def revision(revNo): return 'Revision Number %f' % revNo if __name__ == '__main__': app.run()
کد بالا را در یک فایل hero.py قرار داده و اجرا کنید. در مرورگر به آدرس http://localhost:5000/zerotohero/10 بروید. با رفتن به این آدرس متد show_blog() اجرا شده و عدد ۱۰ به عنوان آرگومان برای آن ارسال میشود. خروجی به صورت زیر است :
Bog number is 10
اگر به جای ۱۰ در آدرس عدد ۱،۱ را قرار دهیم تابع revision() فراخوانی میشود. این تابع یک مقدار اعشاری را به عنوان آرگومان دریافت میکند.
قوانین URL در فلسک بر اساس wekzeug است که این اطمینان را میدهد که URL های ما یکتا خواهند بود.
در ادامه برای یادگیری با این فریم ورک سبک و کاربردی با zerotoheroir همراه باشید…
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.