登录  /  注册
python - flask表单提交无法正常执行流程问题
ringa_lee
ringa_lee 2017-04-17 17:28:07
[Python讨论组]

forms.py内容

class GameServerForm(Form):
    id = IntegerField('GameServer Id',[DataRequired()])
    name = StringField('GameServer Name',[DataRequired()])
    host = StringField('GameServer Host',[DataRequired()])

models.py内容

class GameServer(db.Model):
    __tablename__ = 'GameServers'
    serverId = db.Column(db.Integer,primary_key=True)
    serverName = db.Column(db.String(32),unique=True,index=True)
    serverHost = db.Column(db.String(64),unique=True,index=True)

views.py内容

@main.route('/addGameServer',methods=['GET','POST'])
def addGameServer():
    gameserverform = GameServerForm()
    print gameserverform
    if gameserverform.validate_on_submit():
        gameserver = GameServer.query.filter_by(serverId=gameserverform.id.data).first()
        if gameserver is None:
            gameserver = GameServer(serverId=gameserverform.id.data,
                                serverName=gameserverform.name.data,
                                serverHost=gameserverform.host.data)
            print gameserver
            db.session.add(gameserver)
            db.session.commit()
            flash('add server complete')
            return redirect(url_for('main.index'))
        else:
            print 'aaaaaaaaaaaaaa'
    else:
        print 'out run'
    return render_template('addgameser.html',gameserverform=gameserverform)

addgameser.html内容

<p class="container">
    <p class="row">
        <p class="col-md-6 col-md-offset-3">
             {% for message in get_flashed_messages() %}
                <p class="alert alert-warning">
                    <button type="button" class="close" data-dismiss="alert">&times;</button>
                        {{ messages }}
                </p>
            {% endfor %}
        </p>
        <form class="col-md-6 col-md-offset-3" role="search" method="POST">
            <p class="form-group">
                {{ gameserverform.id.label }}{{ gameserverform.id(class="form-control",placeholder="id") }}
                {{ gameserverform.name.label }}{{ gameserverform.name(class="form-control",placeholder="name") }}
                {{ gameserverform.host.label }}{{ gameserverform.host(class="form-control",placeholder="host") }}
            </p>
            <button type="submit" class="btn btn-default">Submit</button>
        </form>
    </p>
</p>

项目起来之后,在表单页面进行提交操作

程序执行的是else里面的内容

也就是没有进入gameserverform.validate_on_submit():这里的操作

这是为什么的?

ringa_lee
ringa_lee

ringa_lee

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

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