django Templateview类实例化

时间:2014-05-19 06:37:03

标签: django django-views

在下面的代码中,我试图在Homeviews函数内调用HomeView类,其中intls由urls.py调用。但是我没有看到被叫get_context_data。但如果我独立地分离HomeViews类,那么我可以看到正在调用get_context_data并且显式调用参数。从以下代码中我如何实现功能

views.py

   def HomeView(request):
        print "Inside def====1"
        class HomeViews(TemplateView):
            def __init__(self):
                print "Inside class====2"

            def get_context_data(self, **kwargs):
                print "Infunc====3"


        hv = HomeViews.as_view()
        print "After calling class"
        return HttpResponseRedirect("/someurl")

urls.py

url(r'^$', login_required(views.HomeView), name='home'),

1 个答案:

答案 0 :(得分:1)

我不会问你为什么要这样做,但要这样做,请将视图传递给刚刚生成的hv视图功能。

def some_view(request):
    view = generic.TemplateView.as_view(template_name='foobar')
    return view(request)

    hv = HomeViews.as_view()
    response = hv(request)