title: Iterate over Django custom Form
body: <p>I am trying to create a dynamic form, with a varying number of CharFields. I want to be able to display them at will in semi-arbitrary places in my form. My approach was to create an iterable function that fielded the right self.fields[INDEX]. However, when I do this, I literally see this:</p>
  
  <pre><code>&lt;django.forms.fields.CharField object at 0x80bae6be0&gt;
  &lt;django.forms.fields.CharField object at 0x80bae6f98&gt;
  &lt;django.forms.fields.CharField object at 0x80bae6da0&gt;
  </code></pre>
  
  <p>How do I make a CharField() render as expected?</p>
  
  <p>My code is below:</p>
  
  <pre><code>class ImplementationForm(forms.ModelForm):
      """
      Specifies the implementation of a given control.
      """
      class Meta:
          model = Implementation
          fields = ['implemented', 'scope', 'separate']
  
      def __init__(self, *args, **kwargs):
  
          control = kwargs.pop('control')
  
          super(ImplementationForm, self).__init__(*args, **kwargs)
          self.fields['separate'].widget.attrs.update({'class': 'separate'})
          self.fields['scope'].widget.attrs.update({'class': 'scope'})
  
          for substatement in control.substatement.all():
              self.fields['statement_%s'%substatement.pk] = forms.CharField()
  
      def subfield(self):
          print("Comes herE")
          for index in self.fields:
              if index[:10] == 'statement_':
                  yield self.fields[index]
  </code></pre>
  
  <p>The template basically does this:</p>
  
  <pre><code>{% for x in myform.subfield %} {{ x }} {% endfor %}
  </code></pre>