首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当变量存在时,我收到了错误的请求键错误吗?

当变量存在时,我收到了错误的请求键错误吗?
EN

Stack Overflow用户
提问于 2022-05-28 20:12:33
回答 1查看 125关注 0票数 0

以下是确切的错误:

BadRequestKeyError werkzeug.exceptions.BadRequestKeyError: 400个坏请求:浏览器(或代理)发送了服务器无法理解的请求。KeyError:“ux”

下面是我正在运行的代码:

代码语言:javascript
复制
@app.route('/calculate_salary', methods=['POST', 'GET'])
def calculate():
        # profession = int(request.form['profession'])
        user_experience = request.form['ux']
        languages = request.form['ul']
        design_tools = request.form['designtoolz']
        dob = request.form['dob']
        fullname = request.form['fn']
        age = request.form['age']
        active_country = request.form['ac']
        current_state = request.form['cs']
        number_of_experience_years = request.form['ey']

        is_developer = False
        is_designer = False

        # if int(profession) == 1:
        #     is_developer = True
        #
        # elif int(profession) == 2:
        #     is_designer = True

        database = {
            "ux": user_experience,
            "languases": languages,
            "Date of Birth": dob,
            "fn": fullname,
            "Active Country": active_country,
            "Curret State": current_state,
            "Number of Education Years": number_of_experience_years,
            "design_tools": request.form.designtoolz
        }

        result_message = cc.calculate_expected_salarys(user_experience, database, number_of_experience_years,
                                                       is_developer, is_designer, languages,
                                                       request.form.designtoolz, dob, age, fullname, active_country, current_state)

        return render_template(result_message)

这是来自许多模块的代码示例,这些代码证明它存在html文档1:

代码语言:javascript
复制
<label>How many years experience do you have?</label><br>

<input name="ux" checked="checked" type="radio" value="1"/> Less than 1 year <br/>

<input name="ux" type="radio" value="2"/> 1-3 years <br/>

<input name="ux" type="radio" value="3"/> 3-8 years<br/>

<input name="ux" type="radio" value="4"/> 8+ years<br/>

<br/>

如果是这样的话,request.form也会引用我的html代码模块吗?ux肯定在那里。

EN

回答 1

Stack Overflow用户

发布于 2022-05-28 21:04:25

在后端代码中,使用request.form访问表单对象,而在前端页面上没有表单。您需要在前端页面上提供一个实际的表单,并在其中添加您的输入字段。

因此,与其只是:

代码语言:javascript
复制
<input name="ux" checked="checked" type="radio" value="1"/> Less than 1 year <br/>

<input name="ux" type="radio" value="2"/> 1-3 years <br/>

<input name="ux" type="radio" value="3"/> 3-8 years<br/>

<input name="ux" type="radio" value="4"/> 8+ years<br/>

你想要做的是:

代码语言:javascript
复制
<form method='post' action="{{ url_for('calculate') }}">
   <input name="ux" checked="checked" type="radio" value="1"/> Less than 1 year <br/>

   <input name="ux" type="radio" value="2"/> 1-3 years <br/>

   <input name="ux" type="radio" value="3"/> 3-8 years<br/>

   <input name="ux" type="radio" value="4"/> 8+ years<br/>
   
   <input type='submit'> Submit 
</form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72418967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档