-3

データベースからテスト データにアクセスし、結果を一般的な HTML Web ページに表示するイントラネット サイトを作成中です。

現在、Python を cgi としてセットアップしており、今のところ必要な結果が得られています。しかし、現在、いくつかの情報をリアルタイムで表示したいという要求があります。

私はこの方法で Web プログラミングの世界に慣れていませんが、Python スクリプトを実行し、リロードせずに HTML ページに情報を表示する最良の方法は何ですか?

Pythonサーバー側で情報を取得し、HTML側で情報を正しく表示する方法は知っていますが、2つをリンクしたり、HTML側からPythonメソッドを呼び出す方法が欠けています。

どんな提案や簡単な例も素晴らしいでしょう。

ありがとう

4

4 に答える 4

2

「リロード」とは、ユーザーがブラウザで「リロード」/「更新」を押す必要がないことを意味する場合、何らかの形式(JSON /XMLまたはDOMにプレーンに挿入できるHTMLでも)、AJAXを使用してそのURLを定期的にポーリングし、更新を行います。それか、WebSocketsを調べてください。

于 2012-11-29T17:47:21.157 に答える
2

簡単な Google 検索で、Python Web サイトの作成方法を見つけることができます。

ここに例があります

于 2012-11-29T17:38:38.457 に答える
1

ページ全体をリロードする場合はmeta refresh、HTML の HEAD セクションにタグを追加します。

<meta http-equiv="refresh" content="20" />

ページは 20 秒ごとにリロードされます。

ページの要素を一定の間隔で入力したいが、その外観をあまり気にしない (またはサブページの外観を微調整するのに時間がかかる) 場合は、2 番目の CGI を介してサブページを表示する IFRAME を使用できます。 、その HTML のメタ リフレッシュ:

<iframe class="realtime-data" src="/cgi-bin/realtime.py"></iframe>

load()他のより柔軟なケースでは、呼び出されたときにリアルタイム データを公開する 2 つ目の CGI を提供し、jQuery のメソッドなどを使用してメイン ページからその CGI をポーリングする必要があります。

setInterval(function() {
    $('#div_where_html_goes').load('/cgi-bin/realtime.py')
}, 20000); // 20k milliseconds

上記は単なるヒントであり、適切なプログラミング手法ではありません。

  • 読み込みエラーに対する規定はありません
  • 遅延やスクリプトの山積みに対する規定はありません
  • CGI は、データだけでなく、おそらくいくつかのレイアウトも提供する必要があります

...しかし、始めるには十分なはずです。基本的に、jQuery をインストールし (Google からロードする場合は 1 行の HTML コード)、ページの最後に初期化コードを指定します。そこに Javascript コードを置きます。

<script type="text/javascript">
// <![CDATA[ <!--
    (function($){
        $(function(){

            setInterval(function() {
                $('#div_where_html_goes').load('/cgi-bin/realtime.py')
            }, 20000); // 20k milliseconds

        })
    })(jQuery);
// --> ]]>
</script>
</body>
于 2012-11-29T18:18:51.623 に答える
0

ボトルが使えます。チュートリアルでは、簡単なサイトの作成について説明します。

更新するには、サーバーと対話するためのjavascript(ページ内)が必要です。

于 2012-11-29T17:43:11.753 に答える