Python 为什么我的编辑/更新路线中断?

Python 为什么我的编辑/更新路线中断?,python,flask,Python,Flask,我正在使用Flask框架创建一个非常简单的应用程序。在为员工模型创建编辑/更新路线之前,我一直在顺利进行。我想做的是让员工更新他们的信息,当他们点击提交时,sql_alchemy就发挥了它的魔力。我遇到的问题是,我的编辑url在它之前工作的地方被破坏了。我一直在戳我的应用程序,但我似乎无法让它工作。这是我的编辑/更新操作的相关代码: @app.route('/edit_employee/<id>', methods=['GET','PUT']) def edit_em

我正在使用Flask框架创建一个非常简单的应用程序。在为员工模型创建编辑/更新路线之前,我一直在顺利进行。我想做的是让员工更新他们的信息,当他们点击提交时,sql_alchemy就发挥了它的魔力。我遇到的问题是,我的编辑url在它之前工作的地方被破坏了。我一直在戳我的应用程序,但我似乎无法让它工作。这是我的编辑/更新操作的相关代码:

    @app.route('/edit_employee/<id>', methods=['GET','PUT'])
    def edit_employee(id):

    if request.method == 'GET':
        employee = Employee.query.get(id)
        return render_template('edit.html', employee=employee)
    else:
        existing_employee = Employee.query.get(id)
        updated_employee = Employee(request.form['name'], request.form['title'],
                            request.form['email'], request.form['department'])
        file = request.files['profile_image']
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            filename = updated_employee.name
            # Destroy the old image first
            os.remove(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        existing_employee = updated_employee
        db.session.commit()
        return redirect(url_for('all_employees'))

我使用Rails和Sinatra已经有一段时间了,我根本不习惯Flask的错误渲染。对于这个错误
BuildError:('edit_employee',{},None)
我不能确切地告诉你问题出在哪一行。我们将不胜感激

错误是,您试图访问一个名为
edit\u employee
的路由,但该路由不存在。您的
edit_employee
路线接受
参数,因此您需要如下调用路线:


{url\u for('edit\u employee',id=id)}

您的
edit\u employee
函数接受一个名为
id
的参数,但是当您调用
url\u for
时,您没有传递任何参数。哦,是这样吗?我为('edit_employee/')创建了url_。谢谢你指出这一点。顺便说一句,你知道有哪些库会突出显示更好的错误吗。我相信我会习惯的,但我只是想知道。谢谢
<body> 
<div>
  <form{% block form_action %}{% endblock %}>
    <h2>{% block h2 %}{% endblock %}</h2>
    <div class="control-group">
      <div class="controls">
        <label>Name</label>
        <input type="text" id="name" name="name"
          placeholder="Specify name" value="{{ request.form.name }}"
          required>
          .............
{% extends "layout.html" %}
{% block h2 %}Edit a Blackduck employee{% endblock %}
{% block form_action %}action="{{ url_for('edit_employee') }}" enctype=multipart/form-data method=post class="form-horizontal"{% endblock %}
{% block submit %}Update{% endblock %}