我有困难在提交时在烧瓶应用程序的WTForm页面中获取当前选择的项目。提交时,form.tableselector.data值始终等于1,无论选择了SseltField中的哪个项目(并且所有选项都具有表单(1,'table_name')1-10中的唯一表id,其中1是整数。
以下是当前代码:
意见。派克
from flask import session
def view(self):
form = Tableset(request.form)
if request.method == 'POST' and form.validate():
#form.tableselector.data always returns 1 no matter which item is selected?
session['table_id'] = form.tableselector.data
form.py
class MyBaseForm(Form):
#see https://wtforms.readthedocs.io/en/latest/csrf.html
class Meta:
csrf = True
csrf_class = SessionCSRF
csrf_secret = app.config.get('SECRET_KEY')
@property
def csrf_context(self):
return session
class Tableset(MyBaseForm):
tableselector = SelectField(label = 'Table', choices = [], coerce=int, id='select_table')
submit = SubmitField('Submit')
def validate(self):
if len(self.tableselector.choices) == 0:
return False
return True
桌面视图。html
<form role="form" action="{{ url_for('app.table_view') }}" method="post">
{{ form.csrf_token }}
<div class="form-group">
{{ form.tableselector.label }}
{{ form.tableselector }}
</div>
我注意到,在调试表单时,wtf元对象csrf属性等于True,因此我知道csrf正在工作。
问题是我在视图中调用了错误的参数。
请参见此处:如何使用Python和Flask获取请求变量的值
使用:
if request.method == 'POST' and form.validate():
session['table_id'] = request.form.get('tableselector')
问题内容: 我是Flask的新手,我无法从我的select标签获取值。我试过返回错误请求。但是,当我尝试使用时,返回页将返回一个空白列表“ []”。 我的html: 我的app.py: 抱歉,如果我的帖子格式关闭(这也是Stack Overflow的新功能)。 问题答案: 从您提供的内容中很难确定,但是我相信您需要添加您的元素。 从烧瓶文档中找到对象: 要访问表单数据(在POST或PUT请求中传输
我在选择元素的更改事件上绑定了一个事件: 当变更事件发生时,我如何访问被选中的元素?
http://codepen.io/anon/pen/wjzqww?editors=1010
问题内容: 我需要具有2个字段的django modelform,其中第二个字段选择列表取决于在第一个字段中选择的内容。我的模特: 如果vehicle_type设置为 personal, 如何将 make 字段的选择设置为 PERSONAL_MAKES ?我怎样才能做到这一点?在模型级别上可以吗? __ 问题答案: 您可能不能,因为这取决于用户与表单的交互:您的服务器无法预先知道用户将表单发送到浏
问题内容: 我有一个Django应用程序,想要在用户的个人资料中显示多个选择复选框。然后,他们将能够选择多个项目。 这是我的models.py的简化版本: 和我的形式课: 还有我的views.py: 我可以看到POST仅发送一个值: 并且本地vars参数正在发送一个列表: 所有表单字段都显示正确,但是当我提交POST时,我得到一个错误 错误绑定参数7-可能是不受支持的类型。 我是否需要在视图中进一
我正在尝试从一个select表单中获取一个时间值。我在代码中看不到任何错误,尝试更改所有类名和变量,但值仍然没有被get select。(提交表单后我看不到所选的值) 代码添加如下: