2017-10-08 4 views
0

レコードを作成して、フォームフィールドにデータを表示したいとします。どうやってやるの ?私はそれのためにjavascriptを書く必要がありますか?あなたが私を助けたら、本当にそれを覚えておいてください。ありがとうございました。Djangoを使用してURLフォームbuにデータを表示

ここにmodels.pyがあります。

class hesaplarim(models.Model): 
    hesap_id = models.AutoField(primary_key=True) 
    tc_no = models.IntegerField(unique=True) 
    name = models.CharField(max_length=55) 
    surname = models.CharField(max_length=55) 
    phone_number = models.IntegerField() 
    gender = models.CharField(max_length=5) 

ここはviews.pyです。

def home(request): 
    form = HesapForm(request.POST or None) 
    if form.is_valid(): 
     form.save() 
     return HttpResponseRedirect('/') 
    else: 
     form = HesapForm() 
    return render(request, 'home.html', {'form': form}) 

ここにforms.pyがあります。

class HesapForm(forms.ModelForm): 
    ERKEK = 'ERKEK' 
    KADIN = 'KADIN' 
    gender_choices = (
     (ERKEK, 'ERKEK'), 
     (KADIN, 'KADIN') 
    ) 
    tc_no = forms.IntegerField(widget=forms.NumberInput) 
    name = forms.CharField(widget=forms.TextInput) 
    surname = forms.CharField(widget=forms.TextInput) 
    phone_number = forms.IntegerField(widget=forms.NumberInput) 
    gender = forms.ChoiceField(choices=gender_choices) 

    class Meta: 
     model = hesaplarim 
     fields = ('tc_no', 'name', 'surname', 'phone_number', 
    'gender') 

ここはhtmlファイルです。

<form method="post" class="form-horizontal" novalidate> 
    {% csrf_token %} 
    <div class="form-group"> 
    <label for="id_tc_no">TC No:</label> 
    {{ form.tc_no }} 
    </div> 
    <div class="form-group"> 
    <label for="id_name">Ad:</label> 
    {{ form.name }} 
    </div> 
    <div class="form-group"> 
    <label for="id_surname">Soyad:</label> 
    {{ form.surname }} 
    </div> 
    <div class="form-group"> 
    <label for="id_phone">Cep Telefonu:</label> 
    {{ form.phone_number }} 
    </div> 
    <div class="form-group"> 
    <label for="id_gender">Cinsiyet:</label> 
    {{ form.gender }} 
    </div> 
    <div class="form-group"> 
    <input type="submit" class="btn btn-primary" value="Kaydet"> 
    </div> 
</form> 

答えて

0

は、フォームを初期化する必要があります。

def home(request): 
    form = HesapForm(request.POST or None) 
    if form.is_valid(): 
     form.save() 
     return HttpResponseRedirect('/') 
    else: 
     form = HesapForm(initial={'your_field': 'your_value'}) 
    return render(request, 'home.html', {'form': form}) 

Dynamic initial valuesはあなたがここにほぼ同じ参照することができます。 オブジェクトで初期化することもできます。

関連する問題