我正在尝试使用基于类的视图发送变量。以下是url文件的代码
from django.conf.urls import patterns, include, url
from myapp.views import foo
urlpatterns = patterns('',
(r'^/$', foo.as_views(template = 'home.html')),
(r'^about/$', foo.as_views(template = 'about.html')),
)
如何在我的视图文件中的foo类中访问它?我想做这样的事情:
return render(request, template_n)
答案 0 :(得分:1)
传递给as_view
的参数在基于类的视图中被指定为实例变量,因此您可以self.template
,即:
...
return render(request, self.template, {...})
作为旁注,如果您使用捕获了slug的命名url模式,例如:
url(r'^about/(?P<slug>[\w-]+)/$', foo.as_views(template='about.html')),
您可以使用slug
实例变量访问通过网址传递的kwargs
变量:
self.kwargs['slug']