Что я делаю неправильно с action url в моей форме
Я пытаюсь сделать метод поиска в моем приложении. Код в моем 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',
{})
Также у меня есть файл шаблона search_record.html в каталоге templates/my_app, содержимое которого следующее:
{% 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 в navbar не работает. После нажатия на эту кнопку ничего не происходит. Что я делаю не так? В моем приложении установлен django 4.
я думаю изменить тип кнопки на submit, потому что вы отправляете форму при нажатии на эту кнопку