Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/takluyver/tornado_xstatic

Utilities for using XStatic in Tornado applications
https://github.com/takluyver/tornado_xstatic

Last synced: 14 days ago
JSON representation

Utilities for using XStatic in Tornado applications

Awesome Lists containing this project

README

        

Utilities for using XStatic in Tornado applications
---------------------------------------------------

`XStatic `_ is a means of
packaging static files, especially JS libraries, for Python applications.
`Tornado `_ is a Python web framework.

This integration provides:

- ``XStaticFileHandler`` to serve static files from XStatic packages.
- ``xstatic_url`` ui method to build URLs for XStatic files, including
the ``?v=...`` tag that Tornado uses for cache invalidation.

To use these:

.. code:: python

import tornado.ioloop
import tornado.web
from tornado_xstatic import XStaticFileHandler, xstatic_url

class MyHandler(tornado.web.RequestHandler):
def get(self):
self.render("mytemplate.html")

if __name__ == "__main__":
application = tornado.web.Application(
[
(r"/", MyHandler),
(r"/xstatic/(.*)", XStaticFileHandler,
{"allowed_modules": ["jquery", "bootstrap"]}),
],
ui_methods={'xstatic_url': xstatic_url('/xstatic/')}
)
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()

Passing ``allowed_modules`` is optional: if it is not provided, files from any
XStatic module may be served.

In your template, you can then do this::