old_contents: from flask.ext.wtf import Form
  from flask.ext.pagedown.fields import PageDownField
  from wtforms import TextField, StringField, SubmitField, TextAreaField, BooleanField, SelectField, ValidationError
  from wtforms.validators import Required, Length, Regexp, EqualTo, Email
  from ..models import User, Role, Comment
  
  
  class CommentForm(Form):
      body = StringField("", validators=[Required()])
      submit = SubmitField('Submit')
  
  
  class PostForm(Form):
      body = PageDownField("What's on your mind", validators=[Required()])
      submit = SubmitField('Submit')
  
  
  class EditProfileForm(Form):
      name = StringField('Real name', validators=[Length(0,64)])
      location = StringField('Location', validators=[Length(0,64)])
      about_me = TextAreaField('About me')
      submit = SubmitField('Submit')
  
  
  class EditProfileAdminForm(Form):
      email = StringField('Email', validators=[Required(), Length(1, 64), Email()])
      username = StringField('Username', validators=[Required(), Length(1, 64), Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0, 'Usernames must have only letters, numbers, dots or underscore.')])
      confirmed = BooleanField('Confirmed')
      role = SelectField('Role', coerce=int)
      name = StringField('Real name', validators=[Length(0,64)])
      location = StringField('Location', validators=[Length(0,64)])
      about_me = TextAreaField('About me')
      submit = SubmitField('Submit')
  
      def __init__(self, user, *args, **kwargs):
          super(EditProfileAdminForm, self).__init__(*args, **kwargs)
          self.role.choices = [(role.id, role.name) for role in Role.query.order_by(Role.name).all()]
  
          self.user = user
  
      def validate_email(self, field):
          if field.data != self.user.email and User.query.filter_by(email=field.data).first():
              raise ValidationError('Email already registered.')
  
      def validate_username(self, field):
          if field.data != self.user.username and User.query.filter_by(username=field.data).first():
              raise ValidationError('Username already in use.')
              
  
              
  class ContactForm(Form):
      name = StringField('Username', validators=[Required(), Length(1, 64), Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0, 'Usernames must have only letters, numbers, dots or underscore.')])
      email = StringField('Email', validators=[Required(), Length(1, 64), Email()])
      subject = TextField("Subject")
      message = TextAreaField("Message")
      submit = SubmitField("Send")
  
new_contents: from flask.ext.wtf import Form
  from flask.ext.pagedown.fields import PageDownField
  from wtforms import TextField, StringField, SubmitField, TextAreaField, BooleanField, SelectField, ValidationError
  from wtforms.validators import Required, Length, Regexp, EqualTo, Email
  from ..models import User, Role, Comment
  
  
  class CommentForm(Form):
      body = StringField("", validators=[Required()])
      submit = SubmitField('Submit')
  
  
  class PostForm(Form):
      body = PageDownField("What's on your mind", validators=[Required()])
      submit = SubmitField('Submit')
  
  
  class EditProfileForm(Form):
      name = StringField('Real name', validators=[Length(0,64)])
      location = StringField('Location', validators=[Length(0,64)])
      about_me = TextAreaField('About me')
      submit = SubmitField('Submit')
  
  
  class EditProfileAdminForm(Form):
      email = StringField('Email', validators=[Required(), Length(1, 64), Email()])
      username = StringField('Username', validators=[Required(), Length(1, 64), Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0, 'Usernames must have only letters, numbers, dots or underscore.')])
      confirmed = BooleanField('Confirmed')
      role = SelectField('Role', coerce=int)
      name = StringField('Real name', validators=[Length(0,64)])
      location = StringField('Location', validators=[Length(0,64)])
      about_me = TextAreaField('About me')
      submit = SubmitField('Submit')
  
      def __init__(self, user, *args, **kwargs):
          super(EditProfileAdminForm, self).__init__(*args, **kwargs)
          self.role.choices = [(role.id, role.name) for role in Role.query.order_by(Role.name).all()]
  
          self.user = user
  
      def validate_email(self, field):
          if field.data != self.user.email and User.query.filter_by(email=field.data).first():
              raise ValidationError('Email already registered.')
  
      def validate_username(self, field):
          if field.data != self.user.username and User.query.filter_by(username=field.data).first():
              raise ValidationError('Username already in use.')
              
  
              
  class ContactForm(Form):
      name = StringField('Username', validators=[Required(), Length(1, 64), Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0, 'Usernames must have only letters, numbers, dots or underscore.')])
      email = StringField('Email', validators=[Required(), Length(1, 64), Email()])
      subject = TextField("Subject", validators=[Required()])
      message = TextAreaField("Message", validators=[Required()])
      submit = SubmitField("Send")
  
subject: Update forms.py