https://brython.info/static_doc/en/intro.html?lang=en
https://www.brython.info/static_doc/en/javascript.html
https://www.brython.info/demo.html?lang=en#
https://brython.info/gallery/gallery_en.html
https://github.com/stefanhoelzl/vue.py
https://github.com/andy31lewis/brySVG
https://github.com/brython-dev/brython/wiki/Brython-in-the-wild
https://www.mattkeeter.com/projects/constraints/
伺服器端使用 Flask
from flask import Flask, render_template, request, jsonify # Initialize the Flask application app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/add_numbers', methods=['POST']) def add_numbers(): a = request.form.get('a', 0, type=int) b = request.form.get('b', 0, type=int) #return jsonify(result = a+b) # 必須傳回字串? return str(a+b) if __name__ == '__main__': app.run(debug=True)
客戶端使用 Brython
<!DOCTYPE html> <html lang="en"> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"> <script src="http://brython.info/src/brython_dist.js"></script> </head> <body onload="brython()"> <script type="text/python"> from browser import document from browser import ajax # https://www.brython.info/static_doc/en/ajax.html def on_complete(req): document["txt_area"] .clear() if req.status==200 or req.status==0: document["txt_area"] <= req.text else: document["txt_area"] <= "error "+req.text def get(url): # req 從 ajax 模組中的 ajax 類別建立案例, 為一個 ajax 物件 req = ajax.ajax() # a 為 id="A" 輸入欄位中所輸入的值 a = document['A'].value # b 為 id="B" 輸入欄位中所輸入的值 b = document['B'].value # ajax 物件中的 bind 方法, 第一個輸入變數為 evt, 'complete' 表示 ajax 從伺服器取值完成後, 執行 on_complete 函式 req.bind('complete', on_complete) req.open('POST', url, True) req.set_header('content-type','application/x-www-form-urlencoded') req.send({"a": a, "b":b}) # 使用者按下 id="calculate" 按鈕, 將會執行上述 get("/add_numbers") 函式 document['calculate'].bind('click',lambda ev:get('/add_numbers')) </script> <div class="container"> <div class="header"> <h3 class="text-muted">Brython ajax example</h3> </div> <div> <input type="text" id="A" size="5" name="a"> + <input type="text" id ="B" size="5" name="b"> = <div id="txt_area"></div> <p><button id="calculate">calculate server side</button> </form> </div> </div> </body> </html>
https://code.tutsplus.com/series/manipulating-html5-canvas-using-konva--cms-1242