提交一个空白表格到我的网站上运行的Flask使它返回一个内部的s

2024-09-29 21:34:02 发布

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

我在NumbersIndia.com的烧瓶里运行我的Web服务器。当我试图提交一个balnk表单http://numbersindia.com/flask_hello_world.fcgi/track_mobile_numbers处的表单或pincode表单时,我会得到一个内部服务器。 这是pincode路由的代码。你知道吗

@app.route('/find_pin_codes', methods=['POST','GET'])
def pincodes():
    if request.method == 'POST':
        if request.form["number"] != "":
            number = request.form['number']
            number = number.replace(" ","")
            number = number.replace("-","")
            number = number.strip()
            strnumber = number
            try:
                number = int(number)
                num = pinCodes.query.filter_by(pincode = number).first()
                return render_template('pincodes.html', pincode = "Pincode : "+strnumber, 
                                    officename = "Office name : "+num.officename,  
                                    taluk = "Taluk : "+num.taluk, 
                                    district ="District : "+ num.district,
                                    state = "State : "+num.state
                                    )
            except:
                return render_template('pincodes.html', 
                                    pincode = "Pincode : "+strnumber, 
                                    officename = "Invalid pincode, try again")
        else:
            return render_template('pincodes.html', 
                                    pincode = "Pincode : "+strnumber, 
                                    officename = "Invalid pincode, try again")

    else:
        return render_template('pincodes.html')

Tags: com表单numberreturnrequesthtmltemplaterender
1条回答
网友
1楼 · 发布于 2024-09-29 21:34:02

当表单提交为空时,尝试访问request.form["number"]失败,返回KeyError,因为字典request.form没有键"number"。你可以通过改变

if request.form["number"] != "":

if request.form.get("number", "") != "":

相关问题 更多 >

    热门问题