Register Entry Form & Route
#\controllers\register.py
import config, re, json
from bottle import template, route, request, redirect
from models import customerdb, bicycledb

@route('/register')
def displayRegister():
  return template('register', data=config.kargs)

@route('/registerForm')
def getRegisterForm():
  config.kargs['bicycles'] = json.dumps(bicycledb.select())
  config.kargs['customers'] = json.dumps(customerdb.select())
  return template('registerform', data=config.kargs)
<!--\views\registerform.tpl-->

%include("./partials/header.tpl")

<style>
#registform{
  margin-top: 30px;
  width: 30%;
  display: grid;
  grid-template-columns: auto calc(85% - 5px);
  grid-gap: 5px;
}
#registform a{
  text-align: right;
}
</style>

<div class="main" id="main">
  <div class="content" id="content">
    <span>REGISTER ENTRY FORM</span>
    
    <form id="registform" method="POST" action="/register" onsubmit="return bicycle.registerForm()">
      <a>Bicycles: </a><select name="fbikelist" id="bikelist"></select>
      <a>Customers: </a><select name="fcustomerlist" id="customerlist"></select>
      <a></a><input type="submit" />
    </form>
    <script>bicycle.registerForm({{!data['bicycles']}}, {{!data['customers']}})</script>
  </div><!--content-->

</div><!--main-->

%include("./partials/footer")
registerForm(bicycles, customers){
    for(var i=0; i<bicycles.length; i++){
      var brand = bicycles[i][1];
      var amount = bicycles[i][4];
      if(amount > 0)
        $('#bikelist').append(`<option value='[${bicycles[i][0]}, "${brand}"]'>${brand}</option>`);
    }

    for(var i=0; i<customers.length; i++){
      var name = customers[i][1];
      $('#customerlist').append(`<option value='[${customers[i][0]}, "${name}"]'>${name}</option>`);
    }
  }

GitHub: https://github.com/Sokhavuth/Rental-Bicycle-App
Heroku: https://khmerweb-rba.herokuapp.com/