如何在视图中获取值?我正在尝试使用基于类的视图

时间:2013-06-04 14:58:40

标签: django django-views

我正在尝试使用基于类的视图发送变量。以下是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)

1 个答案:

答案 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']