为什么python中出现404错误,blueprint?

为什么python中出现404错误,blueprint?,python,flask,blueprint,Python,Flask,Blueprint,我定义了一个蓝图路线,如下所示: @mod_patient_directory.route('/delete-patient/<string:doc_id>', methods = ['GET']) def delete_record(self, doc_id): mongo.db.patient.remove({'_id': doc_id}) return redirect(url_for('main-page')) @mod_patient_directory

我定义了一个蓝图路线,如下所示:

@mod_patient_directory.route('/delete-patient/<string:doc_id>',  methods = ['GET'])
def delete_record(self, doc_id):
    mongo.db.patient.remove({'_id': doc_id})
    return redirect(url_for('main-page'))
@mod_patient_directory.route('/delete patient/',methods=['GET'])
def delete_记录(自我,文档id):
mongo.db.patient.remove({u-id':doc-id})
返回重定向(url_for('main-page'))
在形式上,我调用的方法是:

 <form action="{{ url_for('patient_directory.delete_record',doc_id= doc_id )}}" method="post">
                              <input type="hidden" name="docId" id="docId" value="{{ patient_doc._id }}" />
                              <input type="hidden" name="action" id="action" value="delete" />
                              <button type="submit" class="btn btn-default btn-sm">
                                  <span class="glyphicon glyphicon-remove"></span>
                              </button>
 </form>


有人能告诉我为什么会出现404错误吗?

一个问题是,在路由上有
方法=['GET']
,但在表单标记上有
method=“post”
。您不应将
GET
用于删除记录等危险操作,因此应将接受的
方法更改为
['POST']


正如@Makoto所指出的,这将给您一个405错误,但您将得到一个404错误,因此肯定还有另一个问题。您已经发布了如何注册蓝图,但您在代码中的什么地方注册了蓝图?使用蓝图时需要注意的一点是,在注册蓝图之前,您需要注册所有路线。

我希望生成一个不允许的405,但不是404。后者意味着资源一开始就不存在。另外,如果我们说的是删除,我们应该只向服务器发送一个删除。使用GET或POST有不同的含义。你是如何在应用程序中注册蓝图的?@Makoto:app.register\u blueprint(mod\u patient\u目录)