2014-10-15 4 views
0

현재 로그인 한 사용자가 사용자 클래스의 몇 가지 (현재 두 가지) 속성을 조정할 수있는 설정 페이지를 설정하려고합니다. SQLAlchemy를 사용하여 데이터베이스 쿼리를 처리하고 있습니다. 사용자 클래스를 연결하기 전에 설정 페이지와 양식이 표시되고 작동하므로 Flask 코드 문제 일 것으로 생각됩니다. WTForms crash course documentation의 예제 코드를 따르려고했으나 여전히 오류가 발생했습니다. 어떤 도움이나지도라도 크게 감사 할 것입니다.WTForm을 통해 클래스 인스턴스를 편집하는 방법

플라스크 코드 :

class SettingsForm(Form): 
    topics = TextField('Topics') 
    emailFrequency= RadioField('Email Frequency', choices = [('Daily', u'Daily'), ('Weekly', u'Weekly'), ('Monthly', u'Monthly'), ('Never', u'Never')], default='Weekly') 
    submit = SubmitField("Save Changes") 

@application.route('/settings', methods = ['GET', 'POST']) 
@login_required 
def settings(request): 
    user = current_user 
    form = SettingsForm(request.form) 
    if request.method == 'POST' and form.validate(): 
     user.emailFrequency = form.emailFrequency.data 
     user.topics = form.topics.data 
     db.session.commit() 
     return render_template('settings.html', page_title = "Success", form=form, success=True) 
    elif request.method == 'GET': 
     return render_template('settings.html', page_title = 'Customize your settings using the form below', form = form) 

HTML 다른 사람이 같은 문제가있는 경우이 도움이

{% extends "base-layout.html" %} 

{% block content %} 
    {% if success %} 
     <h2> Settings updated! </h2> 
    {% else %} 
     <h2> Customize your settings</h2> 
     <form class="form" action="{{url_for('settings')}}" method="POST" role="form"> 
      {{form.hidden_tag()}} 
      <div> {{form.topics.label}} </div> 
      <div> {{form.topics(placeholder="E.g. Gas, Oil, Renewables", class="form-control")}} </div> 
      <div> {{form.emailFrequency.label}} </div> 
      <div> {{form.emailFrequency}} </div> 
      <div> {{form.submit}} </div> 
     </form> 
    {% endif %} 
{% endblock %} 

답변

0

희망, 다음과 같이 내가 설정 기능에 대한 요청 입력을 제거 할 때 양식 일 :

왜 효과가 있었는지 설명하고 싶다면 미래.