2011-12-03 4 views
0

나는 사용자가 웹 사이트의 부품에 액세스하는 것을 제한해야하는 웹 사이트가 있습니다. 웹 사이트가 베타 버전 인 동안 간단히 말하자면 등록 된 사용자 만 웹 사이트와 모든 부품을 볼 수 있기를 원합니다. 그러나 나중에 나는 그 한계를 제거하고 싶을 것이다.웹 사이트의 부품에 대한 액세스 제한 (장고)

내가 할 수있는 일 - 템플릿 수준에서이 로그인을하십시오. 모든 템플릿 에서처럼 나는 {% if user.is_authenticated %}을 가질 수 있으며, 그렇지 않다면 메시지를 보여줄 수 있습니다.

내 생각에 두 번째로 - 사용자가 로그인했는지 여부를 확인하는 미들웨어를 정의 할 수 있습니다. 로그인 페이지로 리디렉션합니다. 내가 베타에서 웹 사이트를 발표 할 예정이다 후, 나는 템플릿을 많이 수정해야하므로

나는

여기 선택할 수있는 다른 무엇 ..., 템플릿 솔루션에 대해 나쁜 일을 볼?

감사합니다.

+0

가능한 가장 좋은 방법은 장고의 login_required 기본값을 만들 수 있습니다 (http://stackoverflow.com/questions/2164069/best-way-to-make-djangos-login-required-the-default) –

답변

0

login_required decorator과 관련된 모든 메소드 또는 클래스에 태그를 지정해야합니다. 일반보기를 사용하는 경우 urls.py에서 정의 할 때 login_required=True을 설정하십시오.

+0

다음 베타 테스트를 마친 후에는 @login_required를 제거해야합니다 ... 또한 동일한 모듈을 별도의 사이트에서 공유하고 하나의 사이트에서 액세스를 제한하고 싶지 않기 때문에이 방법을 좋아하지 않습니다. 예. –

+0

urls.py 변경 사항에 대한 메모를 작성한 후 마음에 들기 시작했습니다. 조사 할 필요가 있습니다. 감사! –

+0

죄송합니다. Ignas, 질문을 잘못 읽었습니다. 미들웨어 솔루션이 아마도 가장 좋은 아이디어라고 생각합니다. 내 대답 철회 고려하십시오. –

관련 문제