• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

질문있습니다 :)

20.05.05 17:30 작성 조회수 111

2

페이스북 로그인 창에서 -> post url로

post url에서 다시 로그아웃 누르면 로그인 창으로 가기 위해서

설정해주신 부분인데요.(config에 urls.py에 쓰신 내용입니다)

lambda가 뭐에 쓰는지는 아는데,

어떤 원리로 앞서 말한 기능이 구현된건지 설명해주시면 감사하겠습니다. 

답변 1

답변을 작성해보세요.

2

yong kini 님안녕하세요 ^ ^ 

lambda 에 대해서 궁금하셨군요 ㅎ

정확히는 lambda 함수라고 부르는 부분인데요 사용할때 형식을 아래와 같이 사용합니다

lambda 인자: 표현식

인자는 함수에서 ()부분이라고 보시면 되시구요

표현식 부분은 실제로 동작을 정의해둔 곳이라고 보시면 됩니다

위에서 사용한 path의 전체를 보시면 이런 모양인데요

path('', lambda r: redirect('post:post_list'), name='root')

lambda 부분만 보시면 이런 모양입니다

lambda r: redirect('post:post_list')

이부분을 함수로 풀어서 작성해 본다고 하시면 아래와 같은 형태가 되실거에요 

def lambda (r):
return redirect('post:post_list')

궁금하셨던 path 부분의 동작을 풀어서 이야기를 해본다면 아래와 같이 동작을 하게 됩니다

1. 사용자가 브라우저로 접근을 할때 '' 로 접근을 한다면 ( ''는 주소창 /뒤에 아무것도 치지 않은 상태를 이야기 합니다 )

2. lambda 함수가 동작을 해서

3. redirect('') 를 실행해서 ('')안에서 지정한 path를 찾아 갑니다

4. ('') 안에 있는 'post:post_list' 는 app_name='post'인 urls.py파일을 찾아서 name='post_list' 인 path를 실행해라 

* post:post_list는 post/urls.py 파일에 위치하고 있는 path 입니다 :)

질문주셔서 감사합니다 ^ ^ ㅎ 즐거운 어린이날 되세요~ ㅎ