នៅក្នុងកម្មវិធីគេហទំព័រ ដោយប្រើប្រាស់កញ្ចប់ Bottle យើងអាចបង្កើតទំព័រ HTML ផ្សេងៗ តាមរយៈការប្រើប្រាស់ template engine មួយប្រភេទមានឈ្មោះថា SimpleTemplate Engine (STPL) ដែលមានរួចជាស្រេចនៅក្នុងកញ្ចប់ Bottle ។ យ៉ាងណាម៉ិញ ដោយ template engine នេះត្រូវបានបង្កើតឡើងដោយយកលំនាំតាមភាសា Python ដូចនេះវាជារឿងងាយស្រួលមួយសំរាប់អ្នកចេះភាសា Python ក្នុងការប្រើប្រាស់ template engine នេះដោយមិនចាំបាច់ចំណាយពេលច្រើនក្នុងការស្វែងយល់ពីភាសាមួយនេះឡើយ។ មួយវិញទៀត STPL ផ្តល់លទ្ធភាពអោយយើងអាចបង្កើតទំព័រ HTML ព្រមទាំងបញ្ចូលទិន្នន័យទៅក្នុងនោះបានយ៉ាងងាយស្រួលជាទីបំផុត បើប្រៀបធៀបទៅនឹងការប្រប្រាស់ភាសា HTML ដោយផ្ទាល់។
<!--\views\index.tpl--> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>{{data['site_title']}}</title> </head> <body> <h1>{{data['message']}}</h1> </body> </html>
មួយវិញទៀត នៅក្នុងកម្មវិធីគេហទំព័រ ដោយប្រើប្រាស់កញ្ចប់ Bottle ការស្វែងរកឯកសារដែលត្រូវបានបង្កើតឡើងដោយប្រើប្រាស់ template engine និងដែលត្រូវគេហៅថាជា template ត្រូវធ្វើឡើងនៅក្នុងកញ្ចប់មួយមានឈ្មោះថា views ជាមុនសិន បើសិនជាមាន មុននឹងស្វែងរកឯកសារប្រភេទនេះនៅទីកន្លែងផ្សេងៗទៀត។ អាស្រ័យហេតុនេះ យើងអាចបង្កើតថតមួយមានឈ្មោះថា views សំរាប់រក្សាឯកសារមានប្រភេទដូចខាងលើនេះទុកដោយឡែកមួយកន្លែងបាន។
យ៉ាងណាម៉ិញ ការយកការយកឯកសារ template មកបញ្ចូលទិន្នន័យនិងបំប្លែងអោយទៅជាទំព័រ HTML ត្រូវធ្វើឡើងតាមរយៈក្បួនខ្នាតដែលជា controller និងដែលគេនិយមរក្សាវាទុកនៅក្នុងថតមួយឈ្មោះថា controllers ។
#\controllers\index.py from bottle import template def render(**kargs): return template('index', data=kargs)
ចុងក្រោយបង្អស់ ដើម្បីអោយឯកសារដែលជា template ទាំងឡាយអាចត្រូវយកទៅបញ្ចូលទិន្នន័យនិងកែច្នៃអោយទៅជាឯកសារ HTML យើងចាំបាច់ត្រូវ import បណ្តាឯកសារដែលជា controller ជាប់ទាក់ទងនឹងឯកសារ template ទាំងនោះ យកមកប្រើនៅក្នុងឯកសារដែលជាកម្មវិធីមេរបស់យើង ដោយធ្វើដូចខាងក្រោមនេះ៖។
#\app.py import os from bottle import route, run from controllers import index @route('/') def main(): kargs = {"site_title":"Rental Bicycle App", "message":"កម្មវិធីគេហទំព័រ!"} return index.render(**kargs) if 'DYNO' in os.environ: run(host='0.0.0.0', port=os.environ.get('PORT', 9000)) else: run(host='localhost', port=9000, debug=True, reloader=True)