我想在网址/account/profile
中显示用户个人资料。
我有一个基于细节类的视图,
class UserDetail(generic.DetailView):
model = User
slug_field = 'username'
slug_url_kwarg = 'username'
template_name = 'myuser/user_detail.html'
我有一个错误:
AttributeError at /accounts/profile/
Generic detail View UserDetail must be called with either an object pk or a slug.
如何在不通过网址参数的情况下收取用户名?
(即:/account/prifle/username
),用户已经过身份验证。
我在这里看到类似的内容:http://programtalk.com/vs2/?source=python/12247/horas/apps/profiles/views.py但对我不起作用。
我尝试修改get_queryset
,dispatch
,但没有任何效果,我不知道在哪里可以修改以获得正确的结果。
任何的想法?感谢
答案 0 :(得分:1)
这段代码非常离奇,你不应该遵循它。在你的情况下,覆盖get_object
是正确的想法;但该方法应该总是实际返回一个对象。
class UserDetail(generic.DetailView):
model = User
def get_object(self, *args, **kwargs):
return self.request.user