我的表单中的操作 url 做错了什么

What am I doing wrong with action url in my form

我正在尝试在 my_app 中执行搜索方法。 我的 navbar.html 中的代码如下。它不是完整的代码。 导航栏中的其他按钮工作正常。 这些不是表单 - 只是常规链接。

<form class="d-flex" action="{% url 'search_record' %}" method="POST">
 {% csrf_token %}
 <input class="form-control me-2" type="text" placeholder="Search">
 <button class="btn btn-primary" type="button">Search</button>
</form>

在我的 urls.py 我有名字“search_record”

urlpatterns = [
path('show/', show_record, name="show_record"),
path('new/', new_record, name="new_record"),
path('edit/<int:id>/', edit_record, name="edit_record"),
path('del/<int:id>/', delete_record, name="delete_record"),
path('search_record/', search_record, name="search_record")]

我在文件中有适当的条目 views.py

def search_record(request):
return render(request, 'my_app/search_record.html', 
    {})

而且我在templates/my_app目录下还有一个模板文件search_record.html,其内容如下:

{% extends 'my_app/index.html' %}
{% block title %} Search Results {% endblock %}

{% block page %}
    <h1>Results ...</h1>
{% endblock %}

当我在浏览器中使用 url: http://127.0.0.1:8000/my_app/search_record/ 时 search_record.html 效果很好,它显示“Results ...",但单击导航栏中的 Search 按钮不起作用。单击此按钮后,没有任何反应。我究竟做错了什么 ? 我的应用程序中有 django 4。

我想更改按钮类型以提交,因为您是在单击该按钮时提交表单