Python(Flask)用户输入表单

2024-09-30 22:10:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python flask还是个新手,只想检查一下下面的代码,我做错了什么。在

就像我在URL上运行时一样(localhost:5000/submit?name=dial&id=565337),它运行正常,但当我在表单上传递值并产生错误时,它就不运行了。在

from flask import Flask, request, redirect, url_for
import Eoc_Summary
import Eoc_Daily
import Eoc_AdSize
import Eoc_Video
import Eoc_Intraction
import EOC_definition
from config import Config

app = Flask(__name__)

form = '''
<html>
   <body>
      <form action = "http://localhost:5000" method="POST">
         <p>Enter Name:</p>
         <p><input type = "text" name = "name" /></p>
         <p>Enter id:</p>
         <p><input type = "text" name = "id" /></p>
         <p><input type = "submit" value = "submit" /></p>
      </form>
   </body>
</html>
'''

@app.route("/")
def index():
    if request.method == 'GET':
        return form
    elif request.method == 'POST':
        name = request.form['name']
        id = request.form['id']
        return submit(name, id)

@app.route('/submit')
def submit():
    name = request.args.get('name')
    id = request.args.get('id')
    c = Config(name, int(id))

    obj_summary=Eoc_Summary.Summary(c)
    obj_summary.main()
    obj_daily=Eoc_Daily.Daily(c)
    obj_daily.main()
    obj_adSize=Eoc_AdSize.ad_Size(c)
    obj_adSize.main()
    obj_Video=Eoc_Video.Video(c)
    obj_Video.main()
    obj_Intraction=Eoc_Intraction.Intraction(c)
    obj_Intraction.main()
    obj_definition=EOC_definition.definition(c)
    obj_definition.main()
    c.saveAndCloseWriter()
    return 'Report Generated'


if __name__ == '__main__':
    app.run()

Tags: nameimportformidobjappmainrequest
1条回答
网友
1楼 · 发布于 2024-09-30 22:10:58

必须在decorator中添加方法

@app.route("/", methods=['GET', 'POST'])
def index():
   {...}

此外,您还必须将参数name和{}添加到submit():

^{pr2}$

最后,导入make_response

from flask import Flask, request, redirect, url_for, make_response

相关问题 更多 >