PyRoutes.JS provide a Javascript routes generation function like Python Routes Mapper.generate method.
So, now do you dream to have Javascript routes generation function ?
PyRoutes.JS is the tool that you need !
If you have this Routes Mapper configuration :
...
map = Mapper()
...
map.connect('entry_view', '/entries/{issue_id:\d*}/', controller='issues', action='view')
map.connect('entry_edit', '/entries/{issue_id:\d*}/edit', controller='issues', action='edit')
...
In your javascript files, you can use PyRoutes.JS like this :
pyroutes.generate('entry_view', entry_id=2); // return '/entries/1/'
pyroutes.generate('entry_edit', entry_id=5); // return '/entries/5/edit/'
$ pip install pyroutes.js
In my_app/config/middleware.py file, append :
...
from pylons.middleware import ErrorHandler, StatusCodeRedirect
from pylons.wsgiapp import PylonsApp
from routes.middleware import RoutesMiddleware
...
from pyroutesjs import Middleware as PyRoutesJSMiddleware # <= append this line
...
from my_app.config.environment import load_environment
...
def make_app(global_conf, full_stack=True, static_files=True, **app_conf):
...
# Append PyRoutes.js middleware
app = PyRoutesJSMiddleware(app, config['routes.map']) # <= append this line
app.config = config
return app
In your template, append :
<script type="text/javascript" src="${h.url('/js/pyroutes.js')}"></script>
Mercurial repository is here : https://bitbucket.org/harobed/pyroutes.js/src
You can clone the code :
$ hg clone http://bitbucket.org/harobed/pyroutes.js
You can report your bugs here : https://bitbucket.org/harobed/pyroutes.js/issues