python + data-star 的新思维方式
python 中 https://data-star.dev 的作用的小例子。
python 中的实时时钟示例:
from flask import Flask, Responseimport timeapp = Flask(__name__)def get_time(): return '<div id="time">{}</div>'.format(time.strftime('%H:%M:%S'))@app.route('/')def index(): return """ <!DOCTYPE html> <html> <head> <script type="module" defer src="https://cdn.jsdelivr.net/npm/@sudodevnull/datastar"></script> </head> <body> <div data-on-load="$$get('/events')"> <h1>Clock</h1> {} </div> </body> </html> """.format(get_time())@app.route('/events')def events(): def generate(): while True: yield 'event: datastar-fragment' yield 'data: fragment {}'.format(get_time()) time.sleep(1) return Response(generate(), content_type='text/event-stream')if __name__ == '__main__': app.run(debug=True)