【发布时间】:2017-07-09 03:59:30
【问题描述】:
我绝对是 django 的新手,并且经常使用教程和堆栈溢出来设计我的应用程序。
我的应用会为用户跟踪案例工作。我需要它能够做的一件事是以一个用户身份登录,然后查看另一个用户的案例量。
当此页面出现时,通常会显示“Logout Joe Bloggs”(Joe Bloggs 是登录用户)的位会显示“Logout Fitzwilliam Darcy”,其中 Fitzwilliam Darcy 是我应该查看其案例的用户。
在修复之前我真的不想继续开发应用程序,以防这是潜在问题的征兆,将来会导致更多问题。
我会在这里添加我认为所有相关的内容,但如果还有其他需要,请告诉我,我很乐意编辑。
#urls.py
url(r'cases/(?P<slug>\w+)',views.UserCasesView.as_view(),name='cases'),
#views.py
@method_decorator(login_required,name='dispatch')
class UserCasesView(generic.DetailView):
model = models.User
template_name = 'caseworkclub/caseworker_detail.html'
slug_field = 'username'
#models.py
class User(AbstractUser):
association = models.ForeignKey('Association',null=True)
def full_name(self):
return("{} {}".format(self.first_name,self.last_name)
def open_cases(self):
return(Case.objects.filter(closed__isnull=True,caseworker=self))
slug位是为了让用户名可以在URL中根据this answer to another question
如果models.py 位没有泄露它,我可能还需要解释一下,我已经扩展了基本用户类并且正在使用它,而不是用户配置文件技术。不过,问题似乎是在更改上面的 slug 位后出现的。
非常感谢任何帮助,正如我所说 - 任何更多信息,很高兴提供!
詹姆斯
【问题讨论】:
-
如果在注销部分将
user更改为request.user会发生什么? -
你能展示你的模板吗?