2009-12-21 5 views
20

현재 사이트에서 작업 중이며 (첫 솔로) 첫 번째 페이지로 이동합니다. 나는 나가서 장고 베스트 프랙티스를 따라하려고 시도해 왔기 때문에 당연히 나는 이것을 찾아야한다. 그러나 이것에 관해서는 진짜 표준이 될 수 없다.Django 색인 페이지 가장/가장 일반적인 관행

나는 여러 가지 (main, home, misc)라는 이름의이 목적을 달성하기 위해 앱을 만드는 사람들을 보았고 프로젝트의 루트에서 views.py를 보았다. 나는 정말로 거기에 대다수가 이것을 위해 무엇을 찾고 있는지를 찾고있다.

사용자가 로그인했는지 여부를 감지하려고하므로 색인 페이지가 정적이 아닙니다.

감사합니다.

답변

19

(사용자가 요청에있는 경우 그냥 간단한 검사 인 경우에, 예를 들어) 동적 모든 콘텐츠를 템플릿으로 처리되는 경우, 나는 일반적인 뷰를 사용하는 것이 좋습니다, specificially 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 }), 
) 
+0

이 방법으로 끝났습니다. 내 로컬 django 사용자 그룹과 대화 한 후 그들은 이것이 최선의 방법이라고 동의했다. – Wraithan

+11

더 이상 사용되지 않는 옵션입니다 : 'from django.views.generic 가져 오기 TemplateView urlpatterns = patterns ('', (r '^ $', TemplateView.as_view (template_name = "index.html")) , ' – StaticX

+0

@StaticX 아마도 위의 설명은 별도의 답변이 될 것입니다. 서식을 사용하면 확실히 도움이됩니다. 감사합니다. – ryanjdillon

3

내가 만드는 경향이있다 한 views.py은 프로젝트의 루트에있는 곳으로 index 뷰를 유지합니다.

+0

다른 사람들의 말에 따르면, direct_to_template 대신 전체보기가 필요한 경우 두 번째 옵션입니다. – Wraithan

관련 문제