Django—基本视图-TemplateView

  • TemplateView


TemplateView可以根据上下文渲染指定模板,返回响应对象。它继承了ContentMixin、View、
TemplateResponseMixin


ContentMixin用于获取渲染模板的变量。你可以重写get_context_data方法返回模板渲染的参数
TemplateResponseMixin 用于渲染模板
template_name模板文名(必须设置)
template_engine模板引擎(有默认值)
response_class模板渲染类,默认是TemplateResponse
content_type内容类型,默认是text/html
get_template_names你可以重写这个方法返回模板名称

#路由
urlpatterns = [
 url(r'^hello/(\w+)/$',views.HelloView.as_view(template_name='hello.html'),name='hello'),
]
#views.py
class HelloView(TemplateView):
 
 def get(self, request, *args, **kwargs):
 context = self.get_context_data(**kwargs)
 context['name'] = args[0]
 return self.render_to_response(context)
  • 使用


    class MyTemplateView(TemplateView):
        # 模板文件名
        template_name = 'example.html'
        # 获取模板中数据
        def get_context_data(self, **kwargs):
            kwargs = super().get_context_data(**kwargs)
            kwargs['name'] = 'xxxxx'
            kwargs['title'] = "wwwww"
            return kwargs
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>{{ title }}</title>
    </head>
    <body>
    <p>
        {{ name }}
    </p>
    </body>
    </html>
发布了199 篇原创文章 · 获赞 6 · 访问量 2422

猜你喜欢

转载自blog.csdn.net/piduocheng0577/article/details/105036434
今日推荐