Привет, ребята, я новичок в django, я хочу отобразить значение ChoiceField

#django #choicefield

#django #choicefield

Вопрос:

ошибки нет, но в шаблоне нет значения / отображения категории

forms.py :

 class UploadwContentForm(forms.ModelForm):

    TYPE_OF_FILE_CHOICES = (
             ('CATEGORY 1','CATEGORY 1'),
             ('CATEGORY 1','Catergoty 2'),
            ('CATEGORY 1','Catergoty 3'),
            ('CATEGORY 1','Catergoty 4')
           )

    title = forms.CharField(widget=forms.TextInput(
    attrs={
         'class': 'form-control',
         'placeholder' : 'Enter your title here:'
         }
       ) )

    category = forms.ChoiceField(widget=forms.Select(attrs={
         'class' : 'btn btn-danger dropdown-toggle'
     }), choices=TYPE_OF_FILE_CHOICES)
  

views.py:

 def uploadlist(request):
     uploadwcontent = UploadwContent.objects.all()
     return render(request, 'upload/uploadlist.html', {
                            'uploadwcontent' : uploadwcontent
                             })
  

template_views.py

   {% for uploadwcontent  in uploadwcontent%}
     <td> {{uploadwcontent.title}}</td>
     <td>{{ uploadwcontent.author}}</td>
     <td>
         <a href="{{ uploadwcontent.pdf.url}}" class="btn-primary btn-sm "target="_blank">
             Download PDF 
         </a>
     </td>
     <td>
         {{form.get_category_display}}
     </td>
 </tr>
 {% endfor %}
  

Ответ №1:

Измените представление, чтобы использовать

render(request, 'upload/uploadlist.html', { 'uploadwcontents' : uploadwcontent })

и изменить цикл for в шаблоне, чтобы быть

{% for uploadwcontent in uploadwcontents %}

Ваш цикл for должен иметь стиль for someitem in collection_of_items