2010-07-08 16 views
16

Uygulamam için bir ana sayfa veya bir dizin sayfası ayarlamak istiyorum. i settings.py içinde MAIN_PAGE ekleyerek ve daha sonra bir main_page nesnesi döndüren bir main_page görünüm oluşturarak, ancak Ayrıca çalışmıyor çalıştı, benDjango ana sayfa nasıl ayarlanır

(r'^$', index), 

indexshould gibi urls.py bir deklarasyon eklemeye çalışır Kökteki index.html dosyasının adı (ama açıkça çalışmıyor)

Django web sitesinde bir ana sayfa belirlemenin en iyi yolu nedir?

Teşekkürler!

cevap

12

, sen django.views.generic.simple den direct_to_template görünümü işlevini kullanabilirsiniz. URL conf olarak:

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

(index.html sizin şablon dizinleri birinin kökünde olduğu varsayıldığında.)

+1

Bu çözüm kullanımdan kaldırılmıştır. Http://stackoverflow.com/questions/11428427/no-module-named-simple-error-in-django –

1

Sen jenerik direct_to_template görünümü işlevini kullanabilirsiniz: Statik sayfasına bakınız istiyorsanız (herhangi bir dinamik süreç geçmesi yok)

# in your urls.py ... 
... 
url(r'^faq/$', 
    'django.views.generic.simple.direct_to_template', 
    { 'template': 'faq.html' }, name='faq'), 
... 
+0

çok teşekkürler! – dana

10

TemplateView sınıfını kullanmak olacaktır Bunu yapmanın yeni tercih edilen bir yol. direct_to_template'dan taşımak istiyorsanız, bu SO answer numarasına bakın. ana urls.py dosyasında

:

from django.conf.urls import url 
from django.contrib import admin 
from django.views.generic.base import TemplateView 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    # the regex ^$ matches empty 
    url(r'^$', TemplateView.as_view(template_name='static_pages/index.html'), 
     name='home'), 
] 

Not, ben templates/ dizin içinde kendi dizininde static_pages/ yılında index.html linke statik sayfalar koymak seçin.

+0

adresinde seçilen cevaba bakın. Bu çözüm mükemmel bir şekilde çalışır! – Deadpool