old_contents: from django import forms
  from django.core.urlresolvers import reverse
  from django.utils.translation import ugettext as _
  
  from crispy_forms.bootstrap import FormActions
  from crispy_forms.helper import FormHelper
  from crispy_forms.layout import Submit, HTML
  
  from wafer.talks.models import Talk
  
  
  class TalkForm(forms.ModelForm):
      def __init__(self, *args, **kwargs):
          super(TalkForm, self).__init__(*args, **kwargs)
          self.helper = FormHelper(self)
          submit_button = Submit('submit', _('Submit'))
          instance = kwargs['instance']
          if instance:
              self.helper.layout.append(
                  FormActions(
                      submit_button,
                      HTML('<a href="%s" class="btn btn-danger">%s</a>'
                           % (reverse('wafer_talk_delete', args=(instance.pk,)),
                              _('Delete')))))
          else:
              self.helper.add_input(submit_button)
  
      class Meta:
          model = Talk
          fields = ('title', 'abstract', 'authors', 'notes')
          widgets = {
              'abstract': forms.Textarea(attrs={'class': 'input-xxlarge',
                                                'rows': 20}),
              'notes': forms.Textarea(attrs={'class': 'input-xxlarge'}),
          }
  
  # TODO: authors widget is ugly
  
new_contents: from django import forms
  from django.core.urlresolvers import reverse
  from django.utils.translation import ugettext as _
  
  from crispy_forms.bootstrap import FormActions
  from crispy_forms.helper import FormHelper
  from crispy_forms.layout import Submit, HTML
  from markitup.widgets import MarkItUpWidget
  
  from wafer.talks.models import Talk
  
  
  class TalkForm(forms.ModelForm):
      def __init__(self, *args, **kwargs):
          super(TalkForm, self).__init__(*args, **kwargs)
          self.helper = FormHelper(self)
          submit_button = Submit('submit', _('Submit'))
          instance = kwargs['instance']
          if instance:
              self.helper.layout.append(
                  FormActions(
                      submit_button,
                      HTML('<a href="%s" class="btn btn-danger">%s</a>'
                           % (reverse('wafer_talk_delete', args=(instance.pk,)),
                              _('Delete')))))
          else:
              self.helper.add_input(submit_button)
  
      class Meta:
          model = Talk
          fields = ('title', 'abstract', 'authors', 'notes')
          widgets = {
              'abstract': MarkItUpWidget(),
              'notes': forms.Textarea(attrs={'class': 'input-xxlarge'}),
          }
  
  # TODO: authors widget is ugly
  
subject: Use markitup widget in talk form