내 사용자 모델에는 회사에서 구조 수준을 정의하는 필드가 있습니다. 내 목표는 각 사용자가 자신의 데이터와 그에 관련된 추가 데이터를 볼 수있게하는 것입니다.django에서 template_name을 사용자 데이터에 따라 ListView로 설정
나는 그룹이 내가 원하는 것을 얻는 데 도움이되는지 시도 할 수있는 권한을 설정했다. 하지만 권한 정말로 여기에만 다른 HTML로 리디렉션 점없는이 바로 서문 (내가 생각하는)
if request.user is *****
입니다 기능을 기본보기에
(I는 백 엔드에 로직을 처리하는) 내 문제가 클래스 기본보기에 있습니다.
class IndexHome(ListView):
model = Task
template_name = 'index.html'
클래스에서 사용자에게 어떻게 액세스 할 수 있습니까?
은 내가
self.request.user 인스턴스에서 사용자가 액세스 할 수 있습니다 알고 있지만 내가 어떻게이 일을 할 수
class IndexHome(ListView):
user = request.user
if user.department_director.all():
department_director = list(user.department_director.all())
template_name = 'index1.html'
elif user.group_leader.all():
group_leader = list(user.group_leader.all())
template_name = 'index2.html'
elif user.team_leader.all():
team_leader = list(user.team_leader.all())
template_name = 'index3.html'
elif user.tech_leader.all():
tech_leader = list(user.tech_leader.all())
template_name = 'index4.html'
else:
template_name = 'index5.html'
model = Task
아니면 인스턴스에서 TEMPLATE_NAME을 설정하는 방법이 있고 내 문제가 해결 됐어?
감사합니다. 그래서 self.request.user.xxx :의 구멍 논리가 내 덮어 쓰기로 들어갑니다. get_template_names? –
OK 그것은 고맙습니다 !!! 귀하의 답변에 투표 한 결과, 새 사용자 (15 세 미만)가 얼마나 적습니까? 그래서 투표가 계산되지 않습니다. ( –
아직 답을 수락 할 수 있습니다 (초록색 체크 표시를 클릭하십시오). –