Django: выпадающий список - PullRequest
       1

Django: выпадающий список

0 голосов
/ 11 апреля 2020

Мой файл forms.py имеет следующее:

  SIZE_CHOICES = (
    ('s', 'Small'),
    ('m', 'Medium'),
    ('l', 'Large')
)

    class ChooseSize(forms.Form):
        size_choice = forms.ChoiceField(choices=SIZE_CHOICES)

Моя страница продукта. html пытается реализовать эту форму:

<form method="POST" class="card-body">
          {% csrf_token %}
      <div>
            {{ form.size_choice }}
     </div>
</form>

По некоторым причинам size_choices не отображается на веб-страница. Что дает?

Мои views.py:

class ItemDetailView(DetailView):
    model = Item
    template_name = "home/product-page.html"

1 Ответ

0 голосов
/ 11 апреля 2020

Я пытаюсь привести пример, может быть, это поможет вам.

ваша модель так:

  SIZE_CHOICES = (
    ('s', 'Small'),
    ('m', 'Medium'),
    ('l', 'Large')
)
class YourModel(models.Model):
      size = models.CharField(max_length=10, blank=True, default='',choices=SIZE_CHOICES,verbose_name="size")

Форма:

class SizeForm(forms.ModelForm):

    def __init__(self, *args, **kargs):
        super(SizeForm, self).__init__(*args, **kargs)

    class Meta:
         model = YourModel
         fields = '__all__'

Ваш взгляд

def your_view(request):
    form = SizeForm()
    return render_response('product_page.html',{'form': form})

Шаблон

    <form method="POST" class="card-body">
              {% csrf_token %}
          <div>
                {% for x,y in form.fields.size_choice.choices %}
                {{x}} --> {{y}}
                {% endfor %}
         </div>
    </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...