これは、Flask の質問というよりも、Python に関する一般的な質問です。
このコード スニペットはhttps://github.com/mitsuhiko/flask/blob/master/flask/views.py#L18からのものです。
@classmethod
def as_view(cls, name, *class_args, **class_kwargs):
"""Converts the class into an actual view function that can be used
with the routing system. Internally this generates a function on the
fly which will instantiate the :class:`View` on each request and call
the :meth:`dispatch_request` method on it.
The arguments passed to :meth:`as_view` are forwarded to the
constructor of the class.
"""
def view(*args, **kwargs):
self = view.view_class(*class_args, **class_kwargs)
return self.dispatch_request(*args, **kwargs)
if cls.decorators:
view.__name__ = name
view.__module__ = cls.__module__
for decorator in cls.decorators:
view = decorator(view)
# we attach the view class to the view function for two reasons:
# first of all it allows us to easily figure out what class-based
# view this thing came from, secondly it's also used for instantiating
# the view class so you can actually replace it with something else
# for testing purposes and debugging.
view.view_class = cls
view.__name__ = name
view.__doc__ = cls.__doc__
view.__module__ = cls.__module__
view.methods = cls.methods
return view
as_view()
メソッドのコメントで説明されているように、この関数が引数をView
クラスのコンストラクターに転送する方法を誰かが正確に説明できますか?
直接的な説明ではないにしても、何が起こっているのかをよりよく理解するために、Pythonに関して特に何を学ぶ必要があるかについて、正しい方向に突き進んでいるかもしれません。
ありがとう