Джанго Пинакс, расширяющий пакет приложений - PullRequest
2 голосов
/ 02 сентября 2011

Я хочу использовать Pinax для небольшого проекта, но я сбит с толку, потому что не могу расширить / изменить поведение и функционал предоставляемых приложений.Есть ли документация по расширению поведения связанных приложений?

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

Спасибо!

1 Ответ

1 голос
/ 13 марта 2012

Да, вы можете расширить поведение встроенных приложений. Если вы используете базовую настройку pinax с учетными записями пользователей и профилями, вам нужно будет добавить дополнительные поля, которые вы хотите, в apps / profile / models.py. Список типов полей см. Здесь: https://docs.djangoproject.com/en/1.3/ref/models/fields/

Это создаст необходимые поля БД для вас при запуске manage.py syncdb. Однако, если вы уже синхронизировали базу данных, вам придется вручную добавить столбцы базы данных. Если в этой таблице нет нужных вам данных, вы всегда можете просто удалить таблицу, и она будет воссоздана. Django не изменяет таблицы БД после их создания, даже если вы изменили модель.

Вам также нужно будет изменить форму регистрации, чтобы включить эти новые поля и указать свой urls.py на новую форму регистрации, которую вы создали. Скопируйте форму из каталога site-packages / pinax в ваш проект. Не изменяйте их напрямую.

Если вы еще этого не сделали, вам следует ознакомиться с руководством по Django здесь: https://docs.djangoproject.com/en/1.3/intro/tutorial01/

Это даст вам хорошее представление о том, как соединяются приложения Django и как взаимодействуют различные части, так что вы можете лучше настроить Pinax по своему вкусу. Убедитесь, что вы знаете, что делают models.py, urls.py, views.py и шаблоны.

...