我的代码如下
url(r'login$', views.LoginView.as_view(), name='login'),
并查看如下
class LoginView(TemplateView):
def __init__(self, *args, **kwargs):
#How to operate on request Object's type and its params.
我在代码中提到了我的问题作为评论。
答案 0 :(得分:2)
如@karthikr所述,你不应该重写__init __()。请求对象首先在dispatch()方法中可用,该方法在__init __()之后立即调用,但您也不需要覆盖该方法。其主要目的是调用get(),post()或其他相关方法处理程序。但是,一般来说,没有必要覆盖它们。
如果你真的绝对必须尽可能早地抓住请求,那么派遣方法是你最好的选择。
class LoginView(TemplateView):
def dispatch(self, request, *args, **kwargs):
print self.request # Works!
return super(LoginView, self).dispatch(request, *args, **kwargs) # Don't forget this