Учебное руководство о том, как записать пользовательские поля формы в django?

"Могло бы быть достаточно" версии этого, встроен в Windows. Изучите вкладку "Recovery" свойств службы, как доступную через services.msc.

можно действовать на сервисный сбой с:

  • "Перезапускают Сервис"
  • "Выполненный, Проножка"
  • "Перезапускает Компьютер"

"Запущенный, программа" могла быть маленьким сценарием, который отправляет почту, например.

, Если Вы хотите большее решение с панелью инструментов обзора и всеми, существует много доступных решений для системного мониторинга. Например, SolarWinds IPMonitor приходит на ум, или Nagios или Кактусы.

23
задан Mert Nuhoglu 6 October 2009 в 16:54
поделиться

3 ответа

Поля формы легко настроить:

class UpperCaseField(forms.CharField):
    def clean(self, value)
        try:
            return value.upper()
        except:
            raise ValidationError

в основном вы просто создаете класс, который наследуется от поля, которое больше всего напоминает то, что вы хотите, а затем переписываете метод clean () так, чтобы он возвращал ценность, которую вы хотите. Вот еще один пример:

class MyObjectField(forms.ModelChoiceField):
    # in this case, 'value' is a string representing
    # the primary key of a MyObject
    def clean(self, value):
        try:
            return MyObject.objects.get(pk=value)
        except:
            raise ValidationError

пользовательские виджеты , с другой стороны, немного более полезны, но их немного сложнее сделать, потому что есть еще несколько методов, которые необходимо написать, чтобы они работали плавно.

32
ответ дан 29 November 2019 в 01:25
поделиться

Как всегда с открытым исходным кодом, вы многое узнаете, прочитав сам исходный код. См. Модуль django.forms.fields , чтобы увидеть, как определены все различные поля формы - большинство из них уже являются подклассами других, поэтому вы можете просто воспроизвести это и изменить то, что вам нужно.

16
ответ дан 29 November 2019 в 01:25
поделиться

Это не учебник, но в документации django об этом немного говорится:

Если встроенные классы полей не удовлетворить ваши потребности, вы можете легко создать настраиваемые классы полей. Для этого просто создать подкласс django.forms.Field. Это только требования состоят в том, что он clean () и что его __ init __ () метод принимает основные аргументы упомянутые выше (обязательно, метка, initial, widget, help_text).

Вы можете прочитать о чистом методе и увидеть пример в django docs . Опять же, не учебник, но полезный.

Я многому научился, читая код некоторых доступных проектов приложений django, таких как django-extensions , которые замещают поля формы и являются хорошими инструментами обучения (для мне, по крайней мере). Это может помочь вам начать работу.

6
ответ дан 29 November 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: