【问题标题】:Error passing the username to a Generic DetailView - django 1.4.3将用户名传递给通用 DetailView 时出错 - django 1.4.3
【发布时间】:2013-01-29 11:36:09
【问题描述】:

首先,我读过这个django username in url, instead of id 它有帮助,但没有解决我的问题。如果可以的话,我不想在views.py 中写任何代码。

我在urls.py 下尝试过的东西。注意:在这两种情况下,我都会得到name 'username' is not defined

1

urlpatterns = patterns('',
    url(r'^(?P<username>[\w.@+-]+)/$',
        login_required(
            DetailView.as_view(
                model=User,
                username=username,
                template_name='account/user_detail.html'),
            login_url='/accounts/login/'
        )
    ),
)

2

urlpatterns = patterns('',
    url(r'^(?P<username>[\w.@+-]+)/$',
        login_required(
            DetailView.as_view(
                model=User,
                queryset=User.objects.get(username=username),
                template_name='account/user_detail.html'),
            login_url='/accounts/login/'
        )
    ),
) 

【问题讨论】:

    标签: django django-urls django-generic-views


    【解决方案1】:

    您不能在 urlconf 中进行那种动态过滤。子类 DetailView 并覆盖 get_queryset 以过滤 self.kwargs['username']

    【讨论】:

      猜你喜欢
      • 2015-11-04
      • 2017-05-30
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多