title: Django missing labels fromset
body: <p>My Django learning has brought me to Forms.  I've been able to create a simple form, using the information from the book I'm reading.  I've also create a form based on the Model I have created.  The issue I am having is that I am trying to create my own formatting within the template and for some reason the label information isn't held within the formset.  I'm a little confused at how using the default way of displaying this i.e. {{ form }} has this information.</p>
  
  <p>What I have;</p>
  
  <p>adminforms.py</p>
  
  <pre><code>class NewsForm(ModelForm):
      class Meta:
          model = News_Article
          exclude = ('news_datetime_submitted', 'news_yearmonth', )
          labels = {
              'news_title': _('Enter News Title'),
          }
          help_texts = {
              'news_title': _('Enter a title to give a short description of what the news is.'),
          }
          error_messages = {
              'news_title': {
                  'max_length': _("News title is too long."),
              },
          }
  </code></pre>
  
  <p>view.py</p>
  
  <pre><code>def create(request, dataset):
      if dataset not in ['news', 'announcement']:
          # change this to the siteadmin page if authenticated and have permissions, otherwise go to home
          return HttpResponseRedirect(reverse('pages'))
      rDict = {}
      # if this is a POST request we need to process the form data
      if request.method == 'POST':
          # create a form instance and populate it with data from the request:
          if dataset == "news":
              form = NewsForm(request.POST)
          elif dataset == "announcement":
              form = AnnouncementForm(request.POST)
          # check whether it's valid:
          if form.is_valid():
              # process the data in form.cleaned_data as required
              # ...
              # redirect to a new URL:
              return HttpResponseRedirect('/home/')
          else:
              pass
  
      # if a GET (or any other method) we'll create a blank form
      else:
          announcement = get_announcement()
          if not announcement == None:
              rDict['announcement'] = announcement
          if dataset == "news":
              rDict['formset'] = NewsForm()
              rDict['branding'] = {'heading': 'Create News Item', 'breadcrumb': 'Create News', 'dataset': 'create/' + dataset + '/'}
          elif dataset == "announcement":
              rDict['form'] = AnnouncementForm()
              rDict['branding'] = {'heading': 'Create Announcement', 'breadcrumb': 'Create Announcement', 'dataset': 'create/' + dataset + '/'}
          rDict['sitenav'] = clean_url(request.path, ['"', "'"])
          rDict['menu'] = Menu.objects.all().order_by('menu_position')
          pdb.set_trace()
          return render(request, 'en/public/admin/admin_create.html', rDict)
  </code></pre>
  
  <p>template</p>
  
  <pre><code>&lt;form action="/siteadmin/{{ branding.dataset }}" method="post"&gt;
      {% csrf_token %}
      {{ formset.management_form }}
      {% for form in formset %}
          {% for field in form %}
              {{ field.label_tag }} {{ field }}
          {% endfor %}
      {% endfor %}
      &lt;input type="submit" value="Submit" /&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>For some reason jut get the form fields and no label information. N.b. The template text I've gottom from the Django documentation on formsets.</p>
  
  <p>I've taken a look at the data thats returned and no label information is in it, yet it works with just {{ form }} ?  Bit confused.</p>
  
  <pre><code>(Pdb) rDict['formset']
  &lt;NewsForm bound=False, valid=Unknown, fields=(news_title;news_text;news_active)&gt;
  </code></pre>
  
  <p>Thanks in advance guys.</p>
  
  <p>Wayne</p>