Индексная страница Django лучшая / самая распространенная практика - PullRequest
20 голосов
/ 21 декабря 2009

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

Я видел, как люди создавали приложения для этой цели, называли разные вещи (main, home, misc) и видел views.py в корне проекта. Я действительно просто ищу то, что большинство для этого делает.

Страница индекса не является статичной, так как я хочу определить, вошел ли пользователь в систему и тому подобное.

Спасибо.

Ответы [ 2 ]

19 голосов
/ 21 декабря 2009

Если весь ваш динамический контент обрабатывается в шаблоне (например, если это просто простая проверка, присутствует ли пользователь в запросе), то я рекомендую использовать универсальное представление, в частности, direct to template просмотр:

urlpatterns = patterns('django.views.generic.simple',
    (r'^$', 'direct_to_template', {'template': 'index.html'}),
)

Если вы хотите добавить еще несколько битов информации в контекст шаблона, есть еще один аргумент, extra_context, который вы можете передать в общее представление, чтобы включить его:

extra_context = { 
    'foo': 'bar',
    # etc
}
urlpatterns = patterns('django.views.generic.simple',
    (r'^$', 'direct_to_template', {'template': 'index.html', 'extra_context': extra_context }),
)
3 голосов
/ 21 декабря 2009

Я склонен создавать views.py в корне проекта, где я сохраняю представление index.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...