[Django]-Django – Website Home Page

11👍

There’s no real rule for this, But one thing I like to do is actually arrange for the index access to redirect to another spot. If you prefer, though, you can just give the index page a plain view.

That said, It’s probably a good idea to keep all your code in an actual app, so that you can refactor it more easily, and so that it appears on the python path as a normal module. Putting views in the project rather than an app seems to cause more headaches than it solves.

3👍

I just found my original approach (direct_to_template) is deprecated in Django 1.5

Instead, use a TemplateView to achieve the same result

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'),
)

(For Django 1.4) You can setup a direct_to_template url within ./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
)

For both, place the template (index.html) in your TEMPLATE_DIRS root. This is one approach to create a homepage without implementing an entire app. There are many ways to make this happen as others have noted.

👤bnjmn

1👍

The easiest way is using Django’s “Flatpages”. See this link for more info: http://docs.djangoproject.com/en/dev/ref/contrib/flatpages/

Leave a comment