Определите класс CSS в Формах django

Ничего не видно. Страница пуста и белая.

Также известна как Белая страница смерти или Белый экран смерти . Это происходит, когда отчет об ошибках отключен, и произошла фатальная ошибка (часто синтаксическая ошибка).

Если вы включили протоколирование ошибок, вы найдете конкретное сообщение об ошибке в своем журнале ошибок. Обычно это будет в файле php_errors.log, либо в центральном месте (например, /var/log/apache2 во многих средах Linux), либо в самом каталоге самого скрипта (иногда используется в среде совместного размещения).

Иногда может быть более простым временно отображать ошибки. На белой странице отобразится сообщение об ошибке. Будьте осторожны, потому что эти ошибки видны всем, кто посещает веб-сайт.

Это легко сделать, добавив в начале скрипта следующий код PHP:

ini_set('display_errors', 1); error_reporting(~0);

Код включит отображение ошибок и установит отчетность на самый высокий уровень.

Поскольку во время выполнения ini_set() он не влияет на синтаксические ошибки синтаксиса. Эти ошибки появятся в журнале. Если вы хотите также отобразить их на выходе (например, в браузере), вам необходимо установить директиву display_startup_errors на true. Сделайте это либо в php.ini, либо в .htaccess или любом другом методе, который влияет на конфигурацию перед временем выполнения .

Вы можете использовать те же методы для установки параметра log_errors и error_log , чтобы выбрать ваше собственное место в файле журнала.

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

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

Связанные ошибки:

181
задан Mikhail Korobov 22 June 2017 в 13:49
поделиться

3 ответа

Отвеченный мой собственный вопрос. Вздох

http://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.Widget.attrs

я не понял, что он был передан в конструктора виджета.

87
ответ дан ashchristopher 23 November 2019 в 06:08
поделиться

Вот другое решение для добавления определений классов к виджетам после объявления полей в классе.

def __init__(self, *args, **kwargs):
    super(SampleClass, self).__init__(*args, **kwargs)
    self.fields['name'].widget.attrs['class'] = 'my_class'
74
ответ дан ashchristopher 23 November 2019 в 06:08
поделиться

Вот вариант выше, который даст всем полям один и тот же класс (например, jquery nice round углы).

  # Simple way to assign css class to every field
  def __init__(self, *args, **kwargs):
    super(TranslatedPageForm, self).__init__(*args, **kwargs)
    for myField in self.fields:
      self.fields[myField].widget.attrs['class'] = 'ui-state-default ui-corner-all'
4
ответ дан 23 November 2019 в 06:08
поделиться
Другие вопросы по тегам:

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