Flask不带WTU

2024-10-02 08:17:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个应用程序与WTForms的烧瓶。你知道吗

在控制器.py我有:

@mod_private.route('/portfolio/', methods=['GET', 'POST'])
@login_required
def portfolio():
   print "in portfolio"  # I read this
   form = CreateCoinsForm(request.form)
   if request.method == 'POST' and form.validate_on_submit():
       print form.coins.data   #I cannot take this value
       return render_template("private/portfolio.html",form=form)
   return render_template("private/portfolio.html",form=form)

在表单.py地址:

class CreateCoinsForm(Form):
    coins = IntegerField('coins', 
                        [DataRequired('num required'),
                         NumberRange(min=0, max=10)])

以及模板

<form method="post" action="/private/portfolio/" accept-charset="UTF-8" role="form">
           <p> {{ form.coins }}</p>
        <p><input type=submit value=Generate>
    </form>

我的问题是,正如我在代码中所写的那样,我无法检索插入到模板中的字符串。你知道吗


Tags: pyformreturnvaluerequestrequiredprivatethis
1条回答
网友
1楼 · 发布于 2024-10-02 08:17:35

您的问题表明您正在表单上使用内置的CSRF保护,而您的表单实际上没有进行验证,因为您没有包含CSRF令牌。你知道吗

尝试调整模板,如下所示:

<form method="post" action="/private/portfolio/" accept-charset="UTF-8" role="form">
   {{ form.hidden_tag() }}
           <p> {{ form.coins }}</p>
        <p><input type=submit value=Generate>
    </form>

相关问题 更多 >

    热门问题