2014-12-06 4 views
1

Я довольно новичок в Django, проведя учебное руководство спереди назад и назад, с веб-сайтом, который я создаю.Вопросы по области применения Django

Однако есть, в настоящее время, около двух вопросов, которые мешают мне развиваться. В качестве фона: я являюсь разработчиком Java Java, поэтому я знаком с дизайном базы данных, внешними ключами и важностью охвата объектов/моделей. Кроме того, я создал веб-сайты с php и mysql и поэтому был знаком с включением верхних/нижних колонтитулов/меню и т. Д. Переключение на Django сложно из-за этого, поскольку Django использует наследование шаблонов для «включения» страниц, что немного отличается от включая каждый нижний колонтитул/заголовок/меню на каждой странице.

По этим вопросам, представьте себе кого-то, кто любит, чтобы воссоздать сайт Youtube В Django (только гипотетическая -?, Кто хотел бы сделать это в любом случае)

  1. Как бы один определить сферу приложения? Я читал по нескольким источникам (среди которых сайт django), что приложение должно быть действительно маленьким, в нашем примере возможно: приложение комментариев, приложение для загрузки видео, предлагаемое приложение для видео и т. Д. Однако - на мой взгляд - комментарии должны иметь внешний ключ для видео и внешний ключ для пользователя. Если бы кто-то разработал приложение комментариев, как бы решить те внешние ограничения/зависимости от внешнего ключа, поскольку они должны будут указывать на другое приложение? Или, возможно, как СОДЕРЖАТЬ один из приложений?

  2. Вопросы, относящиеся к вопросу 1, о шаблонах ... Разработка представлений и шаблонов для одного приложения на самом деле не проблема (пока). Однако как можно объединить несколько приложений. Например, можно создать «домашнее» приложение, содержащее меню, заголовок, нижний колонтитул, логин и т. Д. Но это означает, что другие приложения - подобные комментарии - должны расширить это представление, создавая еще одну зависимость от домашнего приложения. Как это сделать в джанго?

Обратите внимание, что я не ищу полный код, хотя фрагменты кода могут помочь объяснить концепции, но эти вопросы более теоретические.

+0

Приятно знать, что нам не нужно беспокоиться о внешних ключах через приложения. Итак, на вопрос: как мы должны обладать приложениями? – GreenAsJade

ответ

0

Вы как бы передумали это. Приложение действительно просто удобная группировка кода. Ничто не останавливает приложения, имеющие внешний ключ для модели в другом приложении: действительно, это более или менее необходимо, особенно в случае ссылки на пользователей, поскольку они предоставляются приложением contrib.auth.

Что касается шаблонов, это не относится конкретно к приложениям, а к любому шаблону, который должен собирать данные из нескольких мест. Обычный способ сделать это - использовать специальные теги шаблонов - возможно, inclusion tags - для запроса и отображения данных.

Смежные вопросы