访问传递给as_view的参数

时间:2018-07-25 12:05:19

标签: django django-rest-framework

是否可以访问视图类代码中传递给as_view的参数?

url(r'^api/business/$',
    RandomView.as_view(key='BUSINESS'),
    name='business'),

在我的视图类中,我将如何访问key='BUSINESS'

1 个答案:

答案 0 :(得分:2)

如果您调查传递给as_view方法的属性会发生什么,您会在所有视图的父级View类中找到它:

 if not hasattr(cls, key):
        raise TypeError("%s() received an invalid keyword %r. as_view "
                            "only accepts arguments that are already "
                            "attributes of the class." % (cls.__name__, key))

因此,在您的RandomView类中,添加一个类属性key

class RandomView( ... ):
    key = None

您可以在需要的地方轻松访问此属性的值。