flask 接受多个input值时的疑问?

<form method="POST" action=/host/add/>
        <input id="csrf_token" name="csrf_token" type="hidden" value="IjIyZDIzZTc5ZDlhNDE1NmJlMzc1ZjM1ZGVjNzIzNjA1ZjYwNDJiOGIi.XUL4Ig.MVof2EpiqTaH3a3ke8ydSM0J-_A">
    <div class="row" id="box">
        <div class="col">
            <div class="form-group col-sm-10">
                <label for="host">Rule Host</label>
                <input class="form-control" id="host" name="host" placeholder="Rule Host" required type="text" value="">
            </div>
            <div class="form-group col-sm-10">
                <label for="regex_uri">Regex Uri</label>
                <input class="form-control" id="regex_uri" name="regex_uri" placeholder="Regex Uri" type="text" value="">
            </div>
            <div class="form-group col-sm-10">
                <label for="regex_ua">Regex UA</label>
                <input class="form-control" id="regex_ua" name="regex_ua" placeholder="Regex UA" type="text" value="">
            </div>
            </div>
            </div>
            </form>

post提交到view试图后;
通过 form.data 获取到inut所有表单的值;
得到结果为字典
{'host': '1', 'regex_uri': '', 'regex_ua': ''}

data = form.data

我直接

db.session.add(data)

这个data不能直接用。

db.session.add(host='qq.com',regex_uri='ccc',..........)

这样才可以,请问应该怎么处理?如果很多表单怎么办?

阅读 2.7k
2 个回答
data = form.data

这个得到的是一个字典。

db.session.add 接收的是一个 SQLAlachemy 定义的 Model 实例,比如你定义了一个 User Model

data = form.data
# data: {'username': '123', 'sex': 'man'}

user = User(**data)
db.session.add(user)

使用 flask-wtf 来做吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏