Направляющие проблемы преобразования HAML - неожиданное осуждение, ожидая kEND

Цитата из https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#customizing-the-adminsite-class

Если вы Вы хотите настроить свой собственный административный сайт с настраиваемым поведением, однако вы можете создавать подклассы AdminSite и переопределять или добавлять все, что вам нравится. Затем просто создайте экземпляр вашего подкласса AdminSite (так же, как вы создаете экземпляр любого другого класса Python), и зарегистрируйте в нем свои модели и подклассы ModelAdmin вместо использования по умолчанию .

Я полагаю, что это наиболее явный подход, но это также означает, что вам нужно изменить код регистра в файлах admin.py приложений.

На самом деле нет необходимости использовать автообнаружение при использовании собственного экземпляра AdminSite, так как вы, вероятно, будете импортировать все модули admin.py для приложения в свой модуль myproject.admin.

Предполагается, что, как только вы начинаете писать свой собственный сайт администратора, он становится в значительной степени специфичным для проекта, и вы заранее знаете, какие приложения вы хотите включить.

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

5
задан srboisvert 9 June 2009 в 17:14
поделиться

2 ответа

Вот что делает haml, когда вы неправильно указали интервал. html2haml выполняет большую часть работы за вас, но вам все равно необходимо просмотреть изменения. Проблема с sessions / new.html.haml заключается в том, что вы запускаете блок do без содержимого:

- form_tag session_path do
%fieldset

Весь набор полей должен быть вложен (с отступом) в этот блок do . Поскольку содержимого вообще нет, haml не может вставить объявление end , поэтому при интерпретации файла вы получите:

unexpected $end, expecting kEND

, что означает: «Я достиг конца файла ($ end), я ожидал конечное ключевое слово (kEND) "

13
ответ дан 18 December 2019 в 12:01
поделиться

Как показано, в первом фрагменте% body отступ на один уровень больше, чем% head, а% head находится на том же уровне, что и% html, что не годится. Если это сработает, вы можете получить что-то вроде

<html>
</html>
<head>
  ...
  <body>
  ...
  </body>
</head>

. Я думаю, что большинство браузеров подавятся этим! ; -)

В целом я не фанат html2haml, который, хотя и очень старается, не может справиться со всем. Если у вас не очень большая куча файлов просмотра, я был бы склонен потратить время на переработку файлов вручную. Необязательно делать их все сразу, почему бы просто не перевести их по ходу дела? Таким образом вы также узнаете намного больше о HAML. Хватит - надеюсь, - вы обнаружите, что вся эта вещь с отступом становится инстинктивной, после чего прогресс начинает ускоряться.

1
ответ дан 18 December 2019 в 12:01
поделиться
Другие вопросы по тегам:

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