2009-12-21 7 views
20

Şu anda bir sitede (ilk solo) çalışıyorum ve bir indeks sayfası yapmaya gittim. Ben gittikçe django en iyi uygulamaları takip etmeye çalışıyorum, bu yüzden doğal olarak bunu araştırıyorum ama bu konuda gerçek bir standart olamazdı.Django indeksi sayfası en iyi/en yaygın uygulama

Bu amaca hizmet etmek için çeşitli uygulamalar (ana, ev, misc) adı verilen uygulamalar oluşturduğunu ve projenin kök dizininde bir view.py gördüklerini gördüm. Gerçekten bunun için çoğunluğun ne yaptığını arıyorum.

Dizin sayfası statik değil, çünkü kullanıcının giriş yapıp yapmadığını tespit etmek istiyorum.

Teşekkürler.

cevap

19

(bir kullanıcı isteğine varsa bu sadece basit kontrol eğer, örneğin) Dinamik tüm içeriği şablonda işlenir, sonra genel bir görünümünü kullanmanızı öneririz, specificially direct to template görünüm:

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

şablon bağlamına bilgilerin birkaç bit eklemek istiyorsanız, bunu dahil etmek jenerik görünümüne geçebilir ki başka argüman, extra_context vardır:

extra_context = { 
    'foo': 'bar', 
    # etc 
} 
urlpatterns = patterns('django.views.generic.simple', 
    (r'^$', 'direct_to_template', {'template': 'index.html', 'extra_context': extra_context }), 
) 
+0

Bu yöntemi kullanarak bitti. Yerel django kullanıcı grubumla görüştükten sonra, bunun en iyi yöntem olduğuna karar verdiler. – Wraithan

+11

Kullanımdan kaldırılıyor, daha iyi bir seçenek şudur: 'django.views.generic import templateView urlpatterns = patterns ('', (r '^ $', TemplateView.as_view (template_name =" index.html ")) , – StaticX

+0

@StaticX Belki de yukarıdaki yorum ayrı bir cevapta olduğunu garanti ediyor mu? Biçimlendirmede kesinlikle yardımcı olabilirsiniz.Çok teşekkürler: – ryanjdillon

3

Ben yaratma eğilimindedir 012 Projenin kökünde, index görünümüne sahip olduğum.

+0

Başkalarının söyledikleri gibi, sadece direct_to_template yerine tam bir görünüme ihtiyacınız varsa, bu en iyi ikinci seçenek olarak görünüyor. – Wraithan