34

テンプレートの HTML ボタンからビュー関数を呼び出す方法について質問があります。onclick関数のような?テンプレートは次のとおりです。

<input id="submit" type="button" onclick="xxx" method="post" value="Click" />

そして、views.py は次のとおりです。

def request_page(request):
    ...do something...
    return render_to_response("/directory.html", {})

どうもありがとうございました。

4

6 に答える 6

109

ユーザーが「クリック」ボタンをクリックするたびにhtmlテキストボックスのユーザー入力から値を取得し、mypythoncode.py内に記述したpython関数(mypythonfunction)を呼び出すと仮定します。「btn」クラスはcssファイルで定義されていることに注意してください。

templateHTML.html 内:

<form action="#" method="get">
 <input type="text" value="8" name="mytextbox" size="1"/>
 <input type="submit" class="btn" value="Click" name="mybtn">
</form>

view.py の内部:

import mypythoncode

def request_page(request):
  if(request.GET.get('mybtn')):
    mypythoncode.mypythonfunction( int(request.GET.get('mytextbox')) )
return render(request,'myApp/templateHTML.html')
于 2013-11-04T04:04:36.790 に答える
15

1つのオプションは、submitボタンをform

このようなもの:

<form action="{% url path.to.request_page %}" method="POST">
    <input id="submit" type="button" value="Click" />
</form>

onclick(とを削除method)

ページをリロードせずに、ページの特定の部分をロードしたい場合は、次のことができます。

<input id="submit" type="button" value="Click" data_url/>

そしてsubmitリスナーで

$(function(){
     $('form').on('submit', function(e){
         e.preventDefault();
         $.ajax({
             url: $(this).attr('action'),
             method: $(this).attr('method'),
             success: function(data){ $('#target').html(data) }
         });
     });
});
于 2013-07-11T16:50:44.230 に答える
11

これはどう:

<a class="btn btn-primary" href="{% url 'url-name'%}">Button-Text</a>

クラスには、プライマリ ボタンのブートストラップ スタイルが含まれています。

于 2016-09-03T17:37:48.010 に答える