swsnu / swppfall2019

31 stars 23 forks source link

request user 관련 질문 #166

Open digdhg opened 4 years ago

digdhg commented 4 years ago

request를 받아와서 처리하는 과정에서 request.user는 항상 들어온다고 가정해도 괜찮을까요? 아니면 이 부분도 key error에 대한 처리를 해줘야 할까요?

ktaebum commented 4 years ago

네 그부분은 장고 auth middleware에서

class AuthenticationMiddleware(MiddlewareMixin):
    def process_request(self, request):
        assert hasattr(request, 'session'), (
            "The Django authentication middleware requires session middleware "
            "to be installed. Edit your MIDDLEWARE%s setting to insert "
            "'django.contrib.sessions.middleware.SessionMiddleware' before "
            "'django.contrib.auth.middleware.AuthenticationMiddleware'."
        ) % ("_CLASSES" if settings.MIDDLEWARE is None else "")
        request.user = SimpleLazyObject(lambda: get_user(request))

다음과 같이 request.user attribute를 설정을 해주기 때문에 신경쓰지 않아도 됩니다.