如何删除数据库中的项目而不会遇到 405 错误

Posted

技术标签:

【中文标题】如何删除数据库中的项目而不会遇到 405 错误【英文标题】:How can I delete items in my database with out running into 405 error 【发布时间】:2020-08-19 07:49:12 【问题描述】:

如何避免 DELETE 方法出现 405 错误?有什么方法可以从我的数据库中删除行吗?

我尝试在我的根目录的 web.config 文件中包含以下内容,但这不起作用。

<system.webServer>    
  <modules>        
    <remove name="WebDAVModule" />    
  </modules>    
  <handlers>        
    <remove name="WebDAV" />    
  </handlers>
</system.webServer>

我在下面包含了代码 sn-ps 以供参考。

html

         <form method = "post" class= "my-5 text-center">
            <caption>Remove Staff</caption>
                <select name="staff" style="width: 300px">
                    <option></option>
                        % for p in people %
                            <option name="staff"> p.name </option>
                        % endfor %
                    </select>
            <input type= "submit"/>
        </form>

蟒蛇:

@app.route("/deletestaff")
def deletestaff():
    if request.method == "POST":
        name = request.form.get("name")
        db.execute("DELETE * FROM staff WHERE id=1")
        people = db.execute("SELECT name, id FROM staff")
        return render_template("deletestaff.html", people=people)
    else:
        people = db.execute("SELECT name, id FROM staff")
        return render_template("deletestaff.html", people=people)

【问题讨论】:

您使用的是哪个 dbms? (错误 405 是什么意思?) 也许这个***.com/questions/15619075/… 会帮助你 我只是得到“不允许的方法”添加 web.config 的东西并没有改变任何东西。 想出了一个解决方法。不过谢谢! 【参考方案1】:

我想出了一个使用 UPDATE 方法的解决方法。添加了一个默认值设置为“true”的“活动”字段。项目保留在我的数据库中,但我现在可以根据它们的活动值选择它们,并将该值设置为“false”以停用一行。

【讨论】:

【参考方案2】:

删除一行需要的语法如下;

DELETE FROM table_name WHERE condition;

所以尝试将您的db.execute 更改为以下内容;

"DELETE FROM staff WHERE id=1"

Please see this guide for more information

【讨论】:

是DELETE方法不起作用。我只需要找到解决办法。也许我只需要以另一种方式存储我的数据......

以上是关于如何删除数据库中的项目而不会遇到 405 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Laravel 7 重定向导致 405 错误?

如何删除种子而不会对数据库产生任何影响?

如何使用 django-cors-headers 让我的 API 正常工作而不会出现 405 错误

如何删除数组中的项目? [复制]

删除时出现 WebAPI 405 错误

已解决:Django:删除请求返回错误 405