2016-08-15 18 views
0

ここではDjango newbが、私は学んでいます。Djangoフォーム、テンプレートにレンダリングされないユーザー入力フィールド

問題文

入力フィールドには、HTMLテンプレートでのレンダリングではありません。ブラウザで

出力

|送信ボタン|

関連するコード

forms.py 
from django import forms 
from django.db import models 

class PostNotes(forms.Form): 
    clientid = models.IntegerField() 
    notetext = models.CharField(max_length=1000) 

-

views.py 
def post_form_notes(request): 
    if request.method == 'GET': 
     sawit = True 
     form = PostNotes(initial={'notetext':'This is a sample note'}) 
    else: 
     sawit = False 
     pass 
    return render(request, 'clientadmin/post_form_notes.html', { 
     'form': form, 
     'sawit': sawit, 
    }) 

-

post_form_notes.html 
{{ sawit }} 
<form action="" method="post">{% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Submit" /> 
</form> 

トラブルシューティングがすでに完了

  • ブラウザからかなりの量のコード(具体的には POSTが表示される場合)を取り消しました。変化なし。
  • 私はGET要求を見ていることを保証するための変数も含んでおり、テンプレート変数も機能しています。私は真の出力を得ます。
  • できるだけフォームクラスを簡略化しました。
+0

マット、あなたの返事をありがとう、私はあなたが何が起こっているのは正しいと思います。私はオブジェクトを作成し、それをテンプレートに渡します。私は、as_pフィルタはオブジェクトから代表的なオブジェクトにそれを変換することになっていると信じています。しかし、それが機能していないので、私は確かにこれが正しいと確信していません。この例に続いて(多かれ少なかれ)。 http://pythoncentral.io/how-to-use-python-django-forms/ – PerryDaPlatypus

答えて

0

私はすでにDB用に持っていたモデルを使用するようにforms.pyを修正しました。

forms.py:

from django.forms import ModelForm 
from clientadmin.models import notes 

class PostNotes(ModelForm): 
    class Meta: 
     model = notes 
     fields = ['notedate', 'notetext'] 

私も初期値を設定しないようにviews.pyを変更し、その機能を代わりに頼まれたものを、次の使用しています。

models.py:

def post_form_notes(request): 
    if request.method == 'GET': 
     form = PostNotes() 
    else: 
     pass 
    return render(request, 'clientadmin/post_form_notes.html', { 
     'form': form, 
    }) 

希望、これは私がいた同じ問題を抱えた人を助け...

リファレンス詳細情報については、以下のURL:https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/

関連する問題