如何在Django模板中手动渲染ModelForm的多选字段?

时间:2015-09-08 05:13:25

标签: django django-forms django-templates

我的这个模型有一个MultipleChoice国家:

class UserProfile(models.Model):
    user =  models.OneToOneField(User)
    name = models.CharField(max_length=30,blank=True)
    country = models.CharField(
        max_length=20, choices= COUNTRY_CHOICES, blank=True)

Modelform是:

class UserProfileForm(forms.ModelForm):

    country = forms.ModelChoiceField(queryset=profile_choices.COUNTRY_CHOICES)  #< Not sure about what to put as queryset
    class Meta:
        model= UserProfile
        fields = ( 'name','country')

其中:

COUNTRY_CHOICES = (
    ('US','US'),
    ('UK','UK'),
    ('EU','EU'),
    ('other', 'other'),
    )

我想设置输出样式,以避免使用内置的ModelForm渲染。相反,我的模板是:

  {% for c in form.country.queryset %}
      <option value="{{c}}">{{c}}</option>
  {% endfor %}

但它没有显示任何内容。 我尝试了不同的东西,但都没有用。所以留下了无知,并感谢你的帮助。

0 个答案:

没有答案