Django - домашняя страница веб-сайта - PullRequest
20 голосов
/ 09 июня 2009

Я смотрел на Джанго и, судя по всему, это чертовски фантастично. Однако я немного растерялся, как мне реализовать «домашнюю страницу» для моего сайта? Это будет отдельное приложение, или просто представление в проекте, или как?

Ответы [ 3 ]

11 голосов
/ 09 июня 2009

Реального правила для этого нет, но я хотел бы на самом деле организовать перенаправление доступа к индексу в другое место. Однако, если вы предпочитаете, вы можете просто дать странице индекса простое представление.

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

3 голосов
/ 21 февраля 2013

Я только что обнаружил, что мой оригинальный подход (direct_to_template) устарел в Django 1.5

Вместо этого используйте TemplateView для достижения того же результата

from django.conf.urls import patterns, include, url
from django.views.generic import TemplateView

urlpatterns = patterns('',
    (r'^$', 
        TemplateView.as_view(template_name='index.html'),
        name='index'),
)

( Для Django 1.4 ) Вы можете установить direct_to_template url в ./project/project/urls.py

from django.conf.urls import patterns, include, url
from django.views.generic.simple import direct_to_template

urlpatterns = patterns('',
    (r'^$', direct_to_template, { 'template': 'index.html'}),
    # add urls to apps here
)

Для обоих поместите шаблон (index.html) в корень TEMPLATE_DIRS. Это один из подходов к созданию домашней страницы без реализации всего приложения. Есть много способов сделать это, как отметили другие.

1 голос
/ 09 июня 2009

Самый простой способ - использовать «Плоские страницы» Джанго. Смотрите эту ссылку для получения дополнительной информации: http://docs.djangoproject.com/en/dev/ref/contrib/flatpages/

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