view 약자 TemplateView.as_view()

1340 단어 django
텍스트 링크:https://www.cnblogs.com/zealousness/p/8749206.html
view 약자 TemplateView.as_view()
https://code.ziqiangxuetang.com/django/django-generic-views.html
(1)view층을 생략하고 url층에서 페이지를 직접 되돌려주려면view 함수 위치를 쓸 곳에:TemplateView.as_view(template name=렌더링할 템플릿 파일)
from django.views.generic import TemplateView
url(r"^profile/$", TemplateView.as_view(template_name='account/profile.html'), name="user_profile"),

이런 문법이 층을 나누는 사상을 파괴한 것 같지만 후기에 이 URL에 다른 기능을 추가하려면view 파일의 형식을 써야 하기 때문에 고쳐야 할 것이 비교적 많다?(2) 템플릿에 매개 변수를 전달하려면 TemplateView 클래스를 계승하고 get 를 다시 쓰는 클래스를 작성해야 합니다context_데이터 (self, **kwargs) 방법:
# views.py중
from  django.views.generic.base  import  TemplateView 
from  articles.models  import  Article 
class  HomePageView(TemplateView): 
     template_name  =  "home.html" 
     def get_context_data(self, **kwargs): 
        context = super(HomePageView, self).get_context_data(**kwargs) 
        context['latest_articles'] = Article.objects.all()[:5] 
        return context 

# urls.py중
from  django.conf.urls  import  patterns, url 
from  myapp.views  import  HomePageView 
urlpatterns  =  patterns('', 
     url(r '^$' , HomePageView.as_view(), name = 'home' ), 
) 

좋은 웹페이지 즐겨찾기