python - flask返回值到页面问题

 手机用户2602886747 发布于 2022-10-29 00:44

1、定义的路由

@main.route('/qqsql',methods=['GET','POST'])
def qqsql():
    cmdsql = None

    commandform = CommandForm()
    serverlists = GameServer.query.all()
    if commandform.validate_on_submit():
        # global dbname
        session['cmdsql'] = commandform.command.data
        session['serverID'] = request.form.getlist('dbcheckbox')
        for db in session.get('serverID'):
            dbsql = GameServer.query.filter_by(serverId=db).first()
            dbhost = dbsql.serverHost
            dbname = dbsql.serverName
            session['sqlres'] = runSql(dbhost=dbhost,serverid=db,sql=session.get('cmdsql'))
            print session.get('sqlres')
        return redirect(url_for('main.owsql'))
    return render_template('owsql.html',
                           commandform=commandform,
                           cmdsql=session.get('cmdsql'),
                           serverlists=serverlists,
                           sqlres = session.get('sqlres'),
                           dbname = dbname  <=====问题出现在这里
                           )

注意dbname 的值,现在想把dbname 的值也返回到页面怎么处理?

1 个回答
  • @main.route('/qqsql', methods=['GET','POST'])
    def qqsql():
        cmdsql = None
    
        commandform = CommandForm()
        serverlists = GameServer.query.all()
        data = {
            "commandform": commandform,
            "serverlists": serverlists
        }
        if commandform.validate_on_submit():
            # global dbname
            session['cmdsql'] = commandform.command.data
            session['serverID'] = request.form.getlist('dbcheckbox')
            for db in session.get('serverID'):
                dbsql = GameServer.query.filter_by(serverId=db).first()
                dbhost = dbsql.serverHost
                dbname = dbsql.serverName
                sqlres = runSql(dbhost=dbhost,serverid=db,sql=session.get('cmdsql'))
                session['sqlres'] = sqlres
                print session.get('sqlres')
                data.update(dbname=dbname, sqlres=sqlres)
            return redirect(url_for('main.owsql'))
        return render_template('owsql.html', **data)

    应该只在dbname存在时才向页面传,要不然就然dbname设置一下默认值

    2022-10-30 06:50 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有