私は可能な限り最小限のjavascriptを使用することを目指して、PythonベースのWebフレームワークを作成しています。 uilangのような軽量なものを作成して、イベントをPythonコードに渡す必要があります。私はそれが何らかの理由でオブザーバオブジェクト(?)の種類をpingするjQueryソリューションでなければならないと思います。JSフロントエンド付きPythonバックエンド
私はRemiのような純粋なPythonインターフェイスを作成するためのいくつかの努力を発見しましたが、私のコードでどのように再実装する必要があるか分かりません。
だが、私はそのようなクラスを作りましょう:
class WebView():
def __init__(self, template, **callbacks):
"""
Callbacks are dict, {'object': callback}
"""
self.template = template
self.customJS = None
for obj, call in callbacks:
self.setCallback(obj, call)
def __call__():
"""
Here I return template
Assume {{customJS}} record in template, to be simple
"""
return bottle.template(self.template, customJS = self.customJS)
def setCallback(self, obj, call):
"""
Build custom js to insert
"""
self.customJS += ('<script ....%s ... %s' % (obj, call))
だから、どのように私は戻って私のコールバックにボタンを押すと、たとえば、JSからイベントを渡すために作ることができますか?
私は実際にはJSを全く知らないので、質問が広すぎるのではないかもしれないと理解していますが、私はできるだけ説明的にしようとしています。
このような叙事詩に取り組む前に、クライアントとサーバーのテクノロジーがどのように協調するかについて、さらに調査する必要があります。 https://pythonprogramming.net/jquery-flask-tutorial/で始まるかもしれません。 –