繁体   English   中英

Django类视图:__ init__

[英]Django class view: __init__

我想从URL获取<Model>值,并将其用作我班级中的__init__参数。

urls.py
url(r'^(?P<Model>\w+)/foo/$', views.foo.as_view(), name='foo_class'),

views.py
class foo(CreateView):
    def __init__(self, **kwargs): 
        text = kwargs['Model']         # This is not working
        text = kwargs.get('Model')     # Neither this
        Bar(text)
        ...

显然,我遗漏了一些东西,或者我对URL <>类视图的理解是错误的。

您应该覆盖此类用例的dispatch方法。

class Foo(CreateView):

    def dispatch(self, request, *args, **kwargs):
        # do something extra here ...
        return super(Foo, self).dispatch(request, *args, **kwargs)

但是,对于您的特定方案,您可以直接访问self.kwargs因为通用视图会自动将它们分配为视图实例上的实例变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM