• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

django에 LOGIN_URL = '/accounts/login/'의 의미?

23.12.05 11:08 작성 조회수 220

0

"로그인 처리" 동영상에서 (1분 14초) LOGIN_URL = '/accounts/login/' 때문에 app 이름을 accounts으로 하신다고 하셨는데 결국 urls.py에서 새롭게 정의를 하고 있어서 결국에는 global_settings.py 안에 있는 LOGIN_URL을 안쓰고 있는게 아닌가요?

template_name이 registration/login.html로 설정되어 있어서 accounts/registration/login.html로 만드는게 더 좋을까요
?

from django.contrib.auth.views import LoginView

class LoginView(RedirectURLMixin, FormView):
    """
    Display the login form and handle the login action.
    """

    form_class = AuthenticationForm
    authentication_form = None
    template_name = "registration/login.html"
    redirect_authenticated_user = False
    extra_context = None

답변 1

답변을 작성해보세요.

0

안녕하세요.

settings의 LOGIN_URL 설정은 LoginView에서 사용하는 설정이 아니라, login_required 장식자 등에서 로그인이 필요하다고 판단이 될 때 이동하는 주소를 정의하는 설정입니다.

디폴트로 "/accounts/login/" 값이 설정되어있습니다. accounts 이름과 맞춰줄려고 accounts 이름의 장고 앱을 만들었습니다. 다른 이름을 쓰셔도 되고, 그에 맞춰 URL Pattern도 정의하시고 settings LOGIN_URL 설정도 맞춰주시면 됩니다.

LoginView 클래스의 디폴트 template_name 설정은 registration/login.html 인데요. 그대로 사용하시는 것도 좋습니다. 저는 accounts 앱 내에서 LoginView 기능을 커스텀하기 때문에 accounts 경로로 변경했습니다.

정답은 없지만, 다양하게 고민하시는 모습이 보기 좋습니다.

화이팅입니다. 👍

빠른 답변 감사합니다!