【问题标题】:Appear data in URL form bu using Django使用 Django 以 URL 形式显示数据
【发布时间】:2018-03-20 00:26:05
【问题描述】:

我想创建一条记录并希望在表单字段中显示数据。我怎样才能做到这一点 ?我需要为它编写javascript吗?如果你帮助我,真的很感激。现在谢谢。

这里是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>

【问题讨论】:

    标签: html django python-2.7


    【解决方案1】:

    你需要初始化表单:

    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 你可以参考这里。 你也可以用对象来初始化它。

    【讨论】:

      猜你喜欢
      • 2018-10-19
      • 1970-01-01
      • 2016-08-15
      • 2022-01-28
      • 1970-01-01
      • 2012-05-02
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多