Python 我总是发送post请求

Python 我总是发送post请求,python,html,python-3.x,flask,flask-restful,Python,Html,Python 3.x,Flask,Flask Restful,我已经编码了下面的表单和控制器,但是当页面加载时,页面会自动向我的数据库发送请求。如何更改窗体或控制器,并在单击“创建”按钮时发送请求 html代码: <form method="POST" action="/conference/create"> <div class="field"> <div class="control">

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

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

您应该添加一个if语句来指定传入请求是POST还是GET,并相应地执行操作

   if request.method=='GET':
       #load page
   elif request.method=='POST':
       #update database
@main.route('/conference/create',methods=['POST','GET'])
@需要登录
def create_conference():
如果request.method==“POST”:
name=request.form.get('name')
shortname=request.form.get('shortname')
年份=request.form.get('year')
startdate=request.form.get('startdate')
enddate=request.form.get('enddate')
submissiondeadline=request.form.get('submissiondeadline'))
网站=request.form.get('网站')
tag=request.form.get('tag')
datem=datetime.today().replace(day=1)
会议=会议(confid=“1”,creationdatetime=datem,name=name,shortname=shortname,year=year,startdate=startdate,
enddate=enddate,submissiondeadline=submissiondeadline,creatoruser=12,website=website)
conferenceTag=conferenceTag(“1”,标记)
db.session.add(会议)
db.session.commit()
db.session.add(conferenceTag)
db.session.commit()
返回“您想做什么”
返回渲染模板('create\u conference.html')
@main.route('/conference/create',methods=['POST','GET'])
@需要登录
def create_conference():
如果request.method==“POST”:
name=request.form.get('name')
shortname=request.form.get('shortname')
年份=request.form.get('year')
startdate=request.form.get('startdate')
enddate=request.form.get('enddate')
submissiondeadline=request.form.get('submissiondeadline'))
网站=request.form.get('网站')
tag=request.form.get('tag')
datem=datetime.today().replace(day=1)
会议=会议(confid=“1”,creationdatetime=datem,name=name,shortname=shortname,year=year,startdate=startdate,
enddate=enddate,submissiondeadline=submissiondeadline,creatoruser=12,website=website)
conferenceTag=conferenceTag(“1”,标记)
db.session.add(会议)
db.session.commit()
db.session.add(conferenceTag)
db.session.commit()
返回“您想做什么”
返回渲染模板('create\u conference.html')

哇,谢谢。我是烧瓶新手。这对我帮助很大。哇,谢谢。我是烧瓶新手。这对我帮助很大。