代码之家  ›  专栏  ›  技术社区  ›  damd

访问作为视图传递给的参数

  •  0
  • damd  · 技术社区  · 7 年前

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

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

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   Enthusiast Martin    7 年前

    如果您调查作为视图方法传递给的属性发生了什么情况,您将在主视图类中找到它,该类是所有视图的父级:

     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
    

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