类视图中的命名空间

时间:2012-02-07 16:29:20

标签: django classview

我无法在类视图中获取命名空间name-id。有人知道吗?

我不想做的是过滤一个查询集,只为每个命名空间获取适当的模型。

这是我的代码:

urls.py

urlpatterns = patterns('',    
    url(r'^art/', include('items.urls', namespace='art', app_name='items')),
    url(r'^electronics/', include('items.urls', namespace='electronics', app_name='items')),
)

items.urls.py

url(r'^items/$', ItemListView.as_view(model=models.MyItem), name='item_list'),

ItemListView.py

from django.views.generic import ListView

class ItemListView(ListView)
    def get_queryset(self):
        qs = super(ItemListView, self).get_queryset()
        qs... # <- Here I want to filter for MyItem.namespace = namespace (!)
        return qs

1 个答案:

答案 0 :(得分:3)

在这种情况下,这不是命名空间的用途。他们只是将观点分组在一起以便进行逆转。

如果要将变量传递给视图,则需要明确地执行此操作:

url(r'^/(?P<category>\s+)/items/$', ItemListView.as_view(model=models.MyItem), name='item_list'),