2014-10-05 3 views
0

Я изучаю флягу и начинаю делать простую целевую страницу для проекта. Вот маршрут, который обрабатывает контактную формуФлажок для целевой страницы контактная форма

@app.route("/courses") 
def courses(): 
    form = ContactForm() 
    if request.method == 'POST': 
     if form.validate() == False: 
      flash('All fields are required.') 
      return render_template('courses.html', title="contact", form=form) 
     else: 
      msg = Message(recipients=['[email protected]']) 
      msg.body = """From: %s <%s>%s"""%(form.name.data, form.email.data, form.message.data) 
      mail.send(msg) 
      return render_template('courses.html', title="contact", success=True) 
    if request.method == 'GET': 
     return render_template('courses.html', title="contact", form=form) 

Затем Eсть шаблон часть, которая имеет форму

<form class="form-horizontal" action="{{ url_for('index') }}" id="contactform" method="post"> 
    <div class="modal-header"> 
     <h4>Задайте нам любой вопрос!</h4> 
    </div> 
    <div class="modal-body"> 

     {{ form.hidden_tag() }} 

     <div class="form-group"> 
      <label for="contact-name" class="control-label">Имя:</label> 
      <div> 
       {{ form.name }} 
      </div> 

     </div> 

     <div class="form-group"> 
      <label for="contact-email" class="control-label">Email:</label> 
      <div> 
       {{ form.email }} 
      </div> 
     </div> 

     <div class="form-group"> 
      <label for="question" class="control-label">Ваш вопрос:</label> 
      <div> 
       {{ form.message }} 
      </div> 

     </div> 
    </div> 
    <div class="modal-footer"> 
     <a class="close-reveal-modal">&#215;</a> 
     <button class="button" type="submit" value="contact" data-reveal-id="closeModal">Отправить</button> 

     <div data-reveal class="reveal-modal" id="closeModal"> 
      <h1>Спасибо за Ваш вопрос!</h1> 
      <a class="close-reveal-modal">&#215;</a> 
     </div> 

    </div> 
</form> 

И, наконец, - часть с формой

from flask.ext.wtf import Form 
from wtforms import StringField, BooleanField, SubmitField 
from wtforms.validators import DataRequired 

class ContactForm(Form): 
    name = StringField("Name", validators=[DataRequired()]) 
    email = StringField("Email", validators=[DataRequired()]) 
    message = StringField("Message", validators=[DataRequired()]) 
    submit = SubmitField("Send") 

Любые идеи, почему Это не работает?

+0

Какое ожидаемое поведение? Каково наблюдаемое поведение? Какой разрыв между ними? –

ответ

0

здесь является хорошим примером для вас https://github.com/jawr/flask-contact/blob/master/main.py и подробных инструкций здесь http://code.tutsplus.com/tutorials/intro-to-flask-adding-a-contact-page--net-28982

Я также хотел бы предложить вам использовать некоторую 3-й службу партии в качестве почтового сервера (Mandrill и т.д.).

+0

Спасибо !!! Я попробую это! –

Смежные вопросы