代码之家  ›  专栏  ›  技术社区  ›  Krishi H JakeJ

传递python flask中select标记中的选定选项值

  •  0
  • Krishi H JakeJ  · 技术社区  · 7 年前

    注册.html

    <form method="POST" action="/register">
                <div class="form-group">
                    {{render_field(form.name, class_="form-control", placeholder="Name")}}
                </div>
                <div class="form-group">
                    {{render_field(form.email, class_="form-control",placeholder="Email")}}
                </div>
                <div class="form-group">
                    {{render_field(form.username, class_="form-control", placeholder="Username")}}
                </div>
                <div class="form-group">
                    {{render_field(form.password, class_="form-control", placeholder="Password")}}
                </div>
                <div class="form-group">
                    {{render_field(form.confirm, class_="form-control", placeholder="Re-enter Password")}}
                </div>
                 <div class="form-group">
                     <p>I prefer to : </p>
                     <select id= "studenttype" name="studenttype">
                        <input type="radio" name="Theorist" value="Theorist"><span>Read lecture notes</span><br/>
                        <input type="radio" name="Theorist" value="Activist"><span>Watch videos</span>
                     </select>
                 </div>
                <input type="submit" class="btn btn-success" value="Submit">
                <p>Register as <a href="/register_instructor">Instructor</a> </p>
            </form>
    

    我使用以下代码将所选选项值赋给变量 learning_style .

    @app.route('/register', methods=['GET', 'POST'])
    def register():
        learning_style = request.form.get("studenttype")
        form = RegisterForm(request.form)
        if request.method == "POST" and form.validate():
            name = form.name.data
            email = form.email.data
            username = form.username.data
            password = form.password.data
            user_type = 'student'
            print(learning_style)
    
            ...........
    
            flash('You are now registered', 'success')
            redirect(url_for('index'))
        return render_template('register.html', form=form)
    

    但这似乎不管用。非常感谢您的帮助。谢谢。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Joost    7 年前

    您正在混合单选按钮和选择下拉列表。

                      <select id= "studenttype" name="studenttype">
                        <input type="radio" name="Theorist" value="Theorist"><span>Read lecture notes</span><br/>
                        <input type="radio" name="Theorist" value="Activist"><span>Watch videos</span>
                      </select>
    

    收件人:

                        <input type="radio" name="Theorist" value="Theorist"><span>Read lecture notes</span><br/>
                        <input type="radio" name="Theorist" value="Activist"><span>Watch videos</span>
    

    在你的应用程序中:

    learning_style = request.form.get("Theorist")
    
    推荐文章