2016-12-16 4 views
0

이 게시물을 읽는 모든 사람에게 좋은 저녁. 나는 플라스크에 내 웹 사이트에 선택 상자를 추가 할,하지만 난 내가 어떤 의견과 제안 :selectfield (wtforms) 플라스크에 html을 구성하는 방법은 무엇입니까?

내 파이썬 코드를보고 기대하는 의 HTML을 설정하는 방법을 이해할 수 없다 :

class selectmenu(Form): 
    month = SelectField('Choose month',choices=[('dec', 'dec'), ('yan', 'yan'), ('feb', 'febt')]) 

@app.route('/searchemp/', methods=['GET', 'POST']) 
def searchemp(): 
    form = selectmenu(request.form) 
    m = form.month.data 

HTML :

<form action="" class="form-signin" method="post"> 
 
        <h2 class="form-signin-heading" align="center">title</h2> 
 
        <input type="text" class="form-control" 
 
         placeholder= "username" name="username" value="{{request.form.username}}" required autofocus> 
 
           <!-- 
 
           <input type="text" class="form-control" 
 
               placeholder= "month" name="month" value="{{request.form.month}}"> 
 
           --> 
 
                 <select name="month"> 
 
                 <option value="{{request.form.month}}">dec</option> 
 
                 <option value="{{request.form.month}}">yanuary</option> 
 
                 <option value="{{request.form.month}}">feb</option> 
 
                 <option value="{{request.form.month}}">mar</option> 
 
                 </select> 
 
    
 
        <button class="btn btn-lg btn-success btn-block" type="submit">Search</button> 
 
        <br> 
 
        <p align="center">{{error}} </p> 
 
       </form>

+0

은'누락 된 <첫 번째 줄에 form'. – MYGz

+0

질문을 수정했습니다. 어떻게 할 수 있는지 제안 해 주시겠습니까? – trm0808

답변

0

Jinja2 템플릿 ENG Ine는 선택 필드를 렌더링 할 것이고, html select 필드를 생성 할 필요가 없다. jinja2는 이미 그렇다. 당신이 확인해야하는 경우 양식 제출이 validate_on_submit() 또는 request.method == 'POST' 사용

class SelectMenu(Form): 
    month = SelectField('Select Month', choices=[(1, 'January'), (2,'February')]) 

@app.route('/searchemp/', methods=['GET', 'POST']) 
def searchemp(): 
    form = SelectMenu(request.form) 
    if form.validate_on_submit(): 
     # get posted data 
     m = form.month.data 
    return render_template('index.html', form=form) 

# index.html 
<form action="" method="POST"> 
    {{form.month.label}}{{form.month}} 
</form>