Flask 总是发送 post 请求

狮子座

我已经编写了下面的表单和控制器,但是当页面加载时,页面会自动向我的数据库发送请求。如何更改表单或控制器并在我单击创建按钮时发送请求。

html代码:

 <form method="POST" action="/conference/create">
          <div class="field">
             <div class="control">
         <input class="input is-large" type="text" name="name" placeholder="Your Name" autofocus="">
              </div>
           </div>
          
          <input class="input is-large" type="text" name="shortname" placeholder="Your Shortname">
                </div>
            </div>

            <div class="field">
                <div class="control">
                    <input class="input is-large" type="text" name="year" placeholder="Year">
                </div>
            </div>

            <button class="button is-block is-info is-large is-fullwidth">Create</button>
        </form>
    </div>
</div>
{% endblock %}

控制器功能:

@main.route('/conference/create', methods=['POST','GET'])
@login_required
def create_conference():
    name = request.form.get('name')
    shortname = request.form.get('shortname')
    year = request.form.get('year')
    startdate = request.form.get('startdate')
    enddate = request.form.get('enddate')
    submissiondeadline = request.form.get('submissiondeadline')
    website = request.form.get('website')
    tag = request.form.get('tag')

    datem = datetime.today().replace(day=1)

    conference = Conference(confid="1", creationdatetime=datem, name=name, shortname=shortname, year=year, startdate=startdate,
                            enddate=enddate, submissiondeadline=submissiondeadline, creatoruser=12, website=website)

    conferenceTag = ConferenceTags("1", tag)

    db.session.add(conference)
    db.session.commit()
    db.session.add(conferenceTag)
    db.session.commit()

    return render_template('create_conference.html')

顺便说一句,当我这样做时,我只用“POST”更改了控制器的方法参数,这给了我不允许的方法错误。

穆罕默德·拉迪

您应该添加一个 if 语句来指定传入的请求是 POST 还是 GET 并相应地采取行动。

   if request.method=='GET':
       #load page
   elif request.method=='POST':
       #update database

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章