2017-02-21 4 views
0

views.pyのメソッドメソッドデータにアクセスしたいと思います。私はフォームに純粋なhtmlを使用する手順に従っていませんDjangoフォームクラス。私は解決策を試しましたが、まだそれは動作していません MultiValueDictKeyError in Django私はすべてのコメントの種類を試してみましたDjangoのpostメソッドのフォームデータにアクセス

index.htmlを

<form action="{% url "Sample:print" %}" method="post"> 
    {% csrf_token %} 
    <input type="text" placeholder="enter anything" id="TB_sample"/><br> 
    <input type="submit" value="submit"> 
</form> 

views.py

def print(request): 
    value=request.POST['TB_sample'] 
    # value = request.REQUEST.get(request,'TB_sample') 
    # value = request.POST.get('TB_sample','') 
    print(value) 
    return render(request , 'static/Sample/print.html',{"data":"I want to pass here 'Value'"}) 

私を助けます。まだ私は多くのエラーを取得します。これらのソリューションは動作しません。

答えて

2

ファンクションの印刷名(「def print」と呼ばれます)の名前を変更します。 python組み込み関数の関数名は決してしないでください。

まず、入力フィールドに名前を付けて、postパラメータを取得する必要があります。同様に、

<input type="text" placeholder="enter anything" name="TB_sample" id="TB_sample"/> 

はその後、あなたは、TB_sample.Alwaysが書くという名前のパラメータがない場合MultiValueDictKeyErrorをスローfunction.Whichジャンゴで

value=request.POST['TB_sample']

入力した

value=request.POST.get('TB_sample')

これはthroの代わりにNoneを出力します。ウィングエラー。

+0

値= request.POST.get( 'TB_sample')を使用すると** 'str'オブジェクトに属性 'POST'はありません** value = request.POST ['TB_sample']の場合は** – deepak

+0

** raise ** MultiValueDictKeyError **後は私のソリューションを試しました – deepak

+0

男!あなたはあなたの関数名をプリントする!この印刷機能の名前を他のものに変更してください。また、編集された回答を参照してください。 – Aniket

関連する問題