Fixed #35598 -- Added SearchInput widget.

This commit is contained in:
Jeremy Thompson 2024-07-17 16:50:01 +01:00 committed by Sarah Boyce
parent 3f88089069
commit 30a60e8492
7 changed files with 34 additions and 1 deletions

View File

@ -495,6 +495,7 @@ answer newbie questions, and generally made Django that much better:
Jeremy Carbaugh <jcarbaugh@gmail.com>
Jeremy Dunck <jdunck@gmail.com>
Jeremy Lainé <jeremy.laine@m4x.org>
Jeremy Thompson <https://jhthompson.ca>
Jerin Peter George <jerinpetergeorge@gmail.com>
Jesse Young <adunar@gmail.com>
Jezeniel Zapanta <jezeniel.zapanta@gmail.com>

View File

@ -0,0 +1 @@
{% include "django/forms/widgets/input.html" %}

View File

@ -0,0 +1 @@
{% include "django/forms/widgets/input.html" %}

View File

@ -30,6 +30,7 @@ __all__ = (
"NumberInput",
"EmailInput",
"URLInput",
"SearchInput",
"PasswordInput",
"HiddenInput",
"MultipleHiddenInput",
@ -353,6 +354,11 @@ class URLInput(Input):
template_name = "django/forms/widgets/url.html"
class SearchInput(Input):
input_type = "search"
template_name = "django/forms/widgets/search.html"
class PasswordInput(Input):
input_type = "password"
template_name = "django/forms/widgets/password.html"

View File

@ -558,6 +558,17 @@ These widgets make use of the HTML elements ``input`` and ``textarea``.
* ``template_name``: ``'django/forms/widgets/url.html'``
* Renders as: ``<input type="url" ...>``
``SearchInput``
~~~~~~~~~~~~~~~
.. versionadded:: 5.2
.. class:: SearchInput
* ``input_type``: ``'search'``
* ``template_name``: ``'django/forms/widgets/search.html'``
* Renders as: ``<input type="search" ...>``
``PasswordInput``
~~~~~~~~~~~~~~~~~

View File

@ -165,7 +165,8 @@ File Uploads
Forms
~~~~~
* ...
* The new :class:`~django.forms.SearchInput` form widget is for entering search
queries and renders as ``<input type="search" ...>``.
Generic Views
~~~~~~~~~~~~~

View File

@ -0,0 +1,12 @@
from django.forms import SearchInput
from .base import WidgetTest
class SearchInputTest(WidgetTest):
widget = SearchInput()
def test_render(self):
self.check_html(
self.widget, "search", "", html='<input type="search" name="search">'
)