Utility for load static in AioHttp web framework from Webpack with help of webpack-bundle-tracker JS plugin.
Project description
Utility for load static in AioHttp web framework from Webpack with help of webpack-bundle-tracker JS plugin.
Also this can be used with VueJS.
Usage:
settings.py:
STATIC_URL = '/static/'
STATIC_PATH = './static/'
WEBPACK_MANIFEST_PATH = './frontend/webpack_manifest.json'
main.py:
from aiohttp import web
import aiohttp_jinja2
import jinja2
from aiohttp_webpack import WebpackManifest
from settings import *
@aiohttp_jinja2.template('index.html')
async def index(request):
context = {
'webpack': webpack_manifest.get_links(),
}
return context
if __name__ == '__main__':
loop = asyncio.get_event_loop()
app = web.Application()
aiohttp_jinja2.setup(app, loader=jinja2.FileSystemLoader('./templates'))
webpack_manifest = WebpackManifest(WEBPACK_MANIFEST_PATH, STATIC_URL, STATIC_PATH)
app.add_routes([
web.get('/', index),
web.get('/static/{path:.*}', webpack_manifest.handle_static),
])
web.run_app(app)
index.html:
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="/static/index.css"> {# here you can use non webpack static too #}
{{ webpack.css | safe }}
</head>
<body>
<div id="app"></div> {# if you use VueJS #}
{{ webpack.js | safe }}
</body>
</html>
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiohttp-webpack-0.0.4.tar.gz
(3.2 kB
view hashes)
Built Distribution
Close
Hashes for aiohttp_webpack-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79d68fdbae18089078c90e22a5f5380d7f489a406894eb0fc39dfae0f44154a9 |
|
MD5 | d6339744cffba78b199ef6293a032598 |
|
BLAKE2b-256 | 2c6429127ff7da5ae90f3bf7b27effb0a7838f3b3450bacc189b16ffcf80bd7c |