Я немного новичок в Python, Django, и мне хотелось бы дать несколько советов о том, как создать код, который я хотел бы написать.
У меня написана модель, которая позволяет загружать файл. В методе сохранения моделей я проверяю, имеет ли файл конкретное расширение. Если у него есть расширение XML, я открываю файл и собираю некоторую информацию из файла для сохранения в базе данных. У меня эта модель работает. Я проверял это во встроенной администрации. Это работает.
В настоящее время, когда есть ошибка (это не файл XML; файл не может быть открыт; определенного атрибута не существует) Я выдаю специальную ошибку «Исключение». То, что я хотел бы , это то, как передать эти сообщения об ошибках «Исключение» в представление (будь то пользовательское представление или встроенное административное представление) и отобразить сообщение об ошибке, например, если библиотека форм использовался. Это возможно?
Я начинаю думать, что мне придется снова написать проверочные проверки с использованием библиотеки форм. Если это так, возможно ли по-прежнему использовать встроенный шаблон администрирования, но расширить форму, используемую для добавления этих пользовательских проверок?
Все, что поможет моей путанице, будет оценено.
UPDATE
Вот моя модель, для тех, кто спрашивает, "nzb" - это поле файла XML.
http://dpaste.com/hold/6101/
Интерфейс администратора будет использовать форму, которую вы ассоциируете с вашей моделью; ваши собственные взгляды также могут использовать форму.
Это именно то, что я хотел бы сделать. Однако я не знаю, как связать свои формы с моими моделями. Когда я когда-либо создавал формы в прошлом, они всегда действовали как их собственная сущность. Я никогда не мог заставить административные представления использовать их, используя класс ModelForm. Можете ли вы пролить свет на это?
Я прочитал ссылку, которую вы мне дали, и кажется, что я сделал это в прошлом, но не повезло.
Получение атрибутов из файла, вероятно, должно быть методом.
Извините, не могли бы вы уточнить это? А метод где?
UPDATE:
Похоже, я полностью пропустил этот шаг, чтобы связать форму с административным представлением.
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin
Теперь это должно позволить мне выполнить проверку в форме. Тем не менее, я все еще не понимаю, как на самом деле справиться с проверкой. С. Лотт говорит, что это должен быть метод?