python - 如何在前端根据sqlalchemy的搜索返回结果自动填写表单?
黄舟
黄舟 2017-04-18 09:23:05
[Python讨论组]

请教各位高手,

如何通过完成前端其中的一个表单,回车搜索后根据sqlalchemy的返回,自动完成其余的表单?哪里有代码可以借鉴下,不胜感激!

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
高洛峰

我用的 flask

比如一个 form 是这样

class NoteForm(Form):
    c_title = StringField(u'标题')
    c_note2 = StringField(u'备注')
    

模板 example.html 是这样

<html>
    <body>
        <form method = 'post' action = ''>
            {{ my_form.c_title.label }} {{ my_form.c_title() }} 
            {{ my_form.c_note.label }} {{ my_form.c_note2() }} 
            <input type='submit' value='提交'/>
        </form>
    </body>
</html>

views 里是这样

@app.route('/get_note',methods=['post','get']
def get_note():
    my_form = NoteForm()
    # 查找 note 的 id 为「1001」的 note 内容
    # T_note 表里包含 c_title 和 c_name
    result= T_note.query.filter(T_note.id == '1001').first() 
    # 下面这两部的赋值就是要实现你的目的的地方,把查询的值在后台赋给表单
    my_form.c_title = result.c_title
    my_form.c_name = result.c_name
    # 然后就是把 my_form 传到模板中去
    return render_template('example.html',my_form = my_form)



天蓬老师

先说一下,可以使用 html5 的 datalist 来完成。
如果你数据不多可以在后台通过模板渲染出 datalist,如果数据量比较大通过 ajax 来刷新 datalist.
模板写法大概如下

<p>
    <p>
        <input type="text" list="test_list">
    </p>
    <datalist id="test_list">
        {% for t in test_list%}
        <option value="{{ t }}">
        {% endfor%}
    </datalist>
</p>
迷茫

用javaScript DOM编程来实现. 监听第一个表单的回车事件, 发送ajax请求到Flask, Flask返回数据, 再用javaScript填充其他表单

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号