2016-09-03 5 views
0

フロントエンドでDjangoとBootstrapを使用して、1つのプロファイル編集モジュールを作成しています。フォームデータが受信されていません

普通の形のDjangoは醜いので、私はフォーム上でcustimizingしました。ここにHTMLフォームがあります:

 <form actoin="{% url 'edit_profile' %}" method="post"> 
      {% csrf_token %} 

      <div class="form-group row"> 
       <label for="chineseName" class="col-sm-2 control-label">name</label> 
       <div class="col-sm-10"> 
        <input name="chinese_name" class="form-control" id="chineseName" placeholder="name" value="{{form.chinese_name.value}}"> 
       </div> 
      </div> 

      <div class="form-group row"> 
       <label for="gender" class="col-sm-2 control-label">gender</label> 
       <div class="col-sm-10"> 
        <label class="radio-inline"> 
         {% if form.gender.value == "M" %} 
         <input type="radio" name="gender" id="gender1" value="M" checked> Male 
         {% else %} 
         <input type="radio" name="gender" id="gender2" value="M"> Male 
         {% endif %} 
        </label> 
        <label class="radio-inline"> 
         {% if form.gender.value == "F" %} 
         <input type="radio" name="gender" id="gender1" value="F" checked> Female 
         {% else %} 
         <input type="radio" name="gender" id="gender2" value="F"> Female 
         {% endif %} 
        </label> 
       </div> 
      </div> 

      <div class="form-group row"> 
       <label for="age" class="col-sm-2 control-label">age</label> 
       <div class="col-sm-10"> 
        <input name="age" class="form-control" id="age" placeholder="年龄" value="{{form.age.value}}"> 
       </div> 
      </div> 
      <div class="form-group row"> 
       <label for="phone" class="col-sm-2 control-label">phone</label> 
       <div class="col-sm-10"> 
        <input name="phone" class="form-control" id="phone" placeholder="phone" value="{{form.phone.value}}"> 
       </div> 
      </div> 
      <div class="form-group row"> 
       <div class="col-sm-offset-2 col-sm-10"> 
        <button type="submit" class="btn btn-default col-xs-12" id="confirm" style="display:none;">confirm</button> 

       </div> 
      </div> 
     </form> 

何とかリクエストしてください。このフォームからデータを受信して​​いません。この長いHTMLスニペットを{{form}}に切り替えると、すべてがうまくいきます。

ビュー機能は正しいです。このテンプレートファイル、特にフォーム部分に問題はありますか?

+1

あなたはフォームの 'actoin'属性にタイプミスがあります。あなたは、POSTデータが必要なURLに送られることを確かですか? – valignatev

+0

@valentjedi私はこれを修正し、何も変わっていません。それはデフォルトのURLなので、この投稿に行きます。ハードコーディングされたURLを試しましたが、まだ動作していません。私はこれがHTMLに関するものだと思う。 – alvinzoo

答えて

0

あなたがModelFormを使用している場合は、たとえば、フォームクラスにCSSを追加する必要があります

self.fields['phone'].widget.attrs['placeholder'] = self.fields['phone'].label 

か、Formを使用している場合:

phone = forms.CharField(widget=forms.TextInput(attrs={'placeholder' : 'phone')) 
+0

私はこれが問題だとは思わない。実際に私はリクエストを印刷しました。ポストは、これは空であることが判明しました。私はDjangoとは関係ないと思う。それはHTMLに関するものです – alvinzoo

0

何も最初は順不同で見えませんが見てください。さらにデバッグする1つの方法は、フォームをインスタンス化して印刷することです。次に、すべて<form>タグと<input>タグを比較します。

関連する問題