Поле выбора модели возвращает нулевое значение в шаблоне - PullRequest
0 голосов
/ 18 апреля 2019

Форма моей модели имеет поле Coices

class cekler(models.Model):
   bankalar = (
        ('Ziraat Bankası', 'Ziraat Bankası'),
        ('YapıKredi Bankası', 'YapıKredi Bankası'),
        ('Vakıflar Bankası', 'Vakıflar Bankası'),
        ('Teb', 'TEB'),
    )
    banka=models.CharField(max_length=20, choices=bankalar, verbose_name="Banka Adı:")

И моя форма;

class CekForm(forms.ModelForm):

    class Meta:
        model=cekler
        fields=[
               'banka',
                  ]

И мой взгляд такой:

def cekEkle (request):


    form = CekForm(request.POST or None)

    if form.is_valid():
        form.save()

    context ={
        'form':form,
    }
    return render(request,'cek/form.html',context)

Как использовать это поле coices в моем шаблоне с тегом HTML / Select-Option?

1 Ответ

0 голосов
/ 18 апреля 2019

Проблема в том, что вы не передаете атрибут name в поле выбора.

<select id="inputState" name="banka" class="form-control">
    {% for key, value in form.banka.field.choices %}
        <option value="{{ key }}" >{{ value }}</option>
    {% endfor %}
</select> 

Это должно решить вашу проблему.

Также, если вы хотите, вы можете также передавать классы css во все ваши поля из бэкэнда.

class CekForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(CekForm, self).__init__(*args, **kwargs)
        self.fields["banka"].widget.attrs['class'] = 'form-control'

    class Meta:
        model=cekler
        fields=[
               'banka',
                  ]

ТогдаВы можете просто использовать {{form.banka}} в своем шаблоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...