Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将基于函数的视图转换为基于类的视图?_Python_Django - Fatal编程技术网

Python 如何将基于函数的视图转换为基于类的视图?

Python 如何将基于函数的视图转换为基于类的视图?,python,django,Python,Django,我有一些基于函数的聊天视图,我想转换为基于类的视图 def ShowChatPage(request,room_name,person_name): return render(request,"chat_screen.html",{'room_name':room_name,'person_name':person_name}) 这是一个简单的例子: 别忘了添加上下文:)我知道,但是如何做上下文部分,如room_name和person_name?@ArakkalAbu:这是传递的UR

我有一些基于函数的聊天视图,我想转换为基于类的视图

def ShowChatPage(request,room_name,person_name):
    return render(request,"chat_screen.html",{'room_name':room_name,'person_name':person_name})
这是一个简单的例子:


别忘了添加上下文:)我知道,但是如何做上下文部分,如room_name和person_name?@ArakkalAbu:这是传递的URL参数默认情况下会传递到上下文。@murad:您不必实现它,它们已经传递到模板。@ArakkalAbu:请参见编辑,因此,
TemplateView
使用
**kwargs
(URL参数)调用
get_context_data
,这些参数用作初始上下文。它还将向上下文添加一个
视图
,等等。但是URL参数已经在上下文中了。
from django.views.generic import TemplateView

class ShowChatPage(TemplateView):
    template_name = 'chat_screen.html'
class TemplateView(TemplateResponseMixin, ContextMixin, View):
    """
    Render a template. Pass keyword arguments from the URLconf to the context.
    """
    def get(self, request, *args, **kwargs):
        context = self.get_context_data(**kwargs)
        return self.render_to_response(context)