Рубрики

NullBooleanField — Джанго Формы

NullBooleanField в Django Forms — это поле выбора, в котором хранятся значения True или False . Он используется для получения логических входных данных от пользователя. Виджет по умолчанию для этого ввода — NullBooleanSelect . Он нормализуется до: Python True или False .

Синтаксис

field_name = forms.NullBooleanField(**options)

Django form NullBooleanField Объяснение

Иллюстрация NullBooleanField с использованием примера. Рассмотрим проект с именем geeksforgeeks , в котором есть приложение с именем geeks .

Refer to the following articles to check how to create a project and an app in Django.

Введите следующий код в файл forms.py приложения geeks .

from django import forms

  
# создание формы

class GeeksForm(forms.Form):

    geeks_field = forms.NullBooleanField( )

Добавьте приложение гиков в INSTALLED_APPS

# Определение приложения

  

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'geeks',

]

Теперь, чтобы преобразовать эту форму в представление, нам нужно представление и URL, сопоставленный с этим URL. Давайте сначала создадим представление в views.py приложения geeks,

from django.shortcuts import render

from .forms import GeeksForm

  
# Создайте свои взгляды здесь.

def home_view(request):

    context = {}

    context['form'] = GeeksForm()

    return render( request, "home.html", context)

Здесь мы импортируем эту конкретную форму из forms.py и создаем ее объект в представлении, чтобы ее можно было отобразить в шаблоне.
Теперь, чтобы инициировать форму Django, вам нужно создать home.html, где можно будет создавать вещи по своему усмотрению. Давайте создадим форму в home.html .

<form method = "POST">

    {% csrf_token %}

    {{ form }}

    <input type = "submit" value = "Submit">

</form>

Наконец, URL для сопоставления с этим представлением в urls.py

from django.urls import path

  
# импорт видов из views..py

from .views import home_view

  

urlpatterns = [

    path('', home_view ),

]

Давайте запустим сервер и проверим, что на самом деле произошло, Запустите

Python manage.py runserver

Таким образом, поле geeks_field NullBooleanField создается путем замены «_» на ««. Это поле для хранения логических значений — True или False.

Как использовать NullBooleanField?

NullBooleanField используется для ввода логических значений в базе данных. Можно вводить логические поля, такие как is_admin, is_teacher, is_staff и т. Д. До сих пор мы обсуждали, как реализовать NullBooleanField, но как использовать его в представлении для выполнения логической части. Чтобы выполнить некоторую логику, нам нужно получить значение, введенное в поле, в экземпляр Python True, False или None.
В views.py,

from django.shortcuts import render

from .forms import GeeksForm

  
# Создайте свои взгляды здесь.

def home_view(request):

    context ={}

    form = GeeksForm()

    context['form']= form

    if request.POST:

        temp = request.POST['geeks_field']

        print(temp)

    return render(request, "home.html", context)

Теперь давайте попробуем включить кнопку поля.

Теперь эти данные можно получить, используя соответствующий словарь запросов. Если метод GET, данные будут доступны в request.GET, а если post, то request.POST соответственно. В приведенном выше примере у нас есть значение в temp, которое мы можем использовать для любых целей.

Основные Полевые Аргументы

Аргументы основного поля — это аргументы, данные каждому полю для применения какого-либо ограничения или передачи определенной характеристики конкретному полю. Например, добавление аргумента required = False в NullBooleanField позволит пользователю оставить его пустым. Каждый конструктор класса Field принимает как минимум эти аргументы. Некоторые классы Field принимают дополнительные специфичные для поля аргументы, но всегда следует принимать следующее:

Field OptionsDescription
requiredBy default, each Field class assumes the value is required, so to make it not required you need to set required=False
labelThe label argument lets you specify the “human-friendly” label for this field. This is used when the Field is displayed in a Form.
label_suffixThe label_suffix argument lets you override the form’s label_suffix on a per-field basis.
widgetThe widget argument lets you specify a Widget class to use when rendering this Field. See Widgets for more information.
help_textThe help_text argument lets you specify descriptive text for this Field. If you provide help_text, it will be displayed next to the Field when the Field is rendered by one of the convenience Form methods.
error_messagesThe error_messages argument lets you override the default messages that the field will raise. Pass in a dictionary with keys matching the error messages you want to override.
validatorsThe validators argument lets you provide a list of validation functions for this field.
localizeThe localize argument enables the localization of form data input, as well as the rendered output.
disabledThe disabled boolean argument, when set to True, disables a form field using the disabled HTML attribute so that it won’t be editable by users.

Рекомендуемые посты:

NullBooleanField — Джанго Формы

0.00 (0%) 0 votes