我是django的新手,并且使用了很多教程和堆栈溢出来设计我的应用程序。为什么我的django模板将用户设置为与对象相同?
我的应用程序为用户跟踪个案。我需要它能够做的一件事就是以一个用户的身份登录,并查看另一个用户的案例。
当这个页面出现时,通常会说“注销Joe Bloggs”的位,其中Joe Bloggs是登录用户,表示“注销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))
嵌塞位是为了使用户名可以根据this answer to another question
这也可能是值得向大家解释,如果models.py
位不送人是网址,我已经延长基础用户类和我正在使用它,而不是用户配置文件技术。但是,自从改变了上面的slu bit之后,问题似乎就出现了。
任何帮助非常感谢,正如我所说 - 任何更多的信息,很乐意提供!
詹姆斯
如果您在注销部分改变'user'到'request.user'发生什么呢? – Lucas
你能展示你的模板吗? – GwynBleidD