• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

runserver시에 invalid base64-encoded string 관련 에러 문의 드립니다.

21.11.16 11:06 작성 조회수 451

2

안녕하세요 강사님~~

(어제에 이어서 또 질문을 남겨 드리게 됩니다..ㅠㅠ)

python manage.py runserver을 통해서,

개발 서버를 켰는데 이런 에러가 떠서요...

구글링을 해도 해답이 잘 나오지 않아서 여쭤보게 됩니다.

어제는 url을 입력했을 때 잘 작동했었는데... 

무슨 에러인지 

이에 대한 에러를 접한 적이 있으실까 싶어서 질문드립니다. 

그럼 미리 감사를 드립니다 !! 

(vscode 터미널 사진입니다.)

(127.0.0.1:8000/admin/ 사진입니다.)

답변 1

답변을 작성해보세요.

1

안녕하세요.

올려주신 에러 로그를 보니, 세션 데이터를 디코딩하는 과정에서, DB에 저장되어있는 세션 데이터의 길이가 4배수여야 하는 데, 217로서 4의 배수보다 1이 큰 길이인 상황이어서 발생하는 오류인 듯 합니다. 저도 처음 보는 오류인데요.

브라우저 시크릿창을 띄워서 새 세션으로 접근해보시면 어떤가요?

ceng99님의 프로필

ceng99

질문자

2021.11.23

강사님 답변 주셔서 정말 감사합니다.

아래 사진과 같이 시크릿창을 띄워서 접근해보니깐 

다행히 잘 동작하는 것을 확인할 수 있었습니다.

그런데 여전히 일반 chrome에서는 위에서 질문드린 것과 같은 동일한 오류가 뜨네요..ㅠㅠ

왜 시크릿창에서만 뜨는지 원인을 (혹은 시크릿창의 원리(?)를) 질문 드릴 수 있을까요...?

감사합니다 !! 

어떤 이유인지는 모르겠지만, 기존 세션 값이 장고의 포맷이 아니라, 엉뚱한 값이 들어있어서 오류가 발생한 것이구요. "새 시크릿 창"에서는 새로운 세션이 생성이 되니까 오류가 안 뜨는 것입니다.

혹시 세션 DB의 값을 변경하신 것은 아닐까요.

기존 브라우저에서 http://localhost:8000/admin/logout/ 주소로 바로 접근하셔서, 로그아웃 후에 다시 로그인해보시면 어떨까요?

혹은 DB를 날리셔도 괜찮다면 DB를 날리고, 다시 migrate를 해보시는 것도 한 방법입니다.