점프투 플라스크 질문입니다.
안녕하세요. 점프투 플라스크를 보면서 게시판을 작성중에 있습니다.
3-03 템플릿 필터를 작업중 아래와 같이 오류가 발생됩니다.
웹페이지 내용
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
오류 내용
아래와 같이 오류가 생성됩니다.
File "C:\Source\PythonStudy\WebProject\FSBM\templates\question\question_list.html", line 1, in top-level template code
{% extends 'base.html' %}
File "C:\Source\PythonStudy\WebProject\FSBM\templates\base.html", line 16, in top-level template code
{% block content %}
File "C:\Source\PythonStudy\WebProject\FSBM\templates\question\question_list.html", line 20, in block "content"
File "C:\Source\PythonStudy\WebProject\FSBM\filter.py", line 2, in format_datetime
return value.strftime(fmt)
처리작업은 아래와 같이 하였는데 안되네요 ㅜ.ㅜ
https://medium.com/@onlytojay/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%82%A0%EC%A7%9C-%ED%91%9C%ED%98%84-%ED%95%9C%EA%B8%80-%EC%97%90%EB%9F%AC-44aea1ae66d8
kimo 님 5678
2020년 8월 29일 7:43 오후
5개의 답변이 있습니다. 1 / 1 Page
저도 스크립트는 UTF-8 이지만 같은 문제가 발생하여 return 값에 encode, decode 처리를 하니 문제가 해결되었습니다.
filter.py 파일을 아래와 같이 내용을 변경하니 한글로 잘 출력되네요.
def format_datetime(value, fmt="%Y년 %m월 %d일 %H:%M"):
return value.strftime(fmt.encode('unicode-escape').decode()).encode().decode('unicode-escape')
M 2020년 10월 29일 1:11 오후
trace 공유 합니다.
Traceback (most recent call last):
File "c:\source\pythonstudy\venv\lib\site-packages\flask\app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "c:\source\pythonstudy\venv\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "c:\source\pythonstudy\venv\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "c:\source\pythonstudy\venv\lib\site-packages\flask_compat.py", line 39, in reraise
raise value
File "c:\source\pythonstudy\venv\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "c:\source\pythonstudy\venv\lib\site-packages\flask\app.py", line 1935, in dispatch_request
return self.view_functionsrule.endpoint
File "C:\Source\PythonStudy\WebProject\FSBM\views\question_views.py", line 20, in _list
return render_template('question/question_list.html', question_list=question_list)
File "c:\source\pythonstudy\venv\lib\site-packages\flask\templating.py", line 140, in render_template
ctx.app,
File "c:\source\pythonstudy\venv\lib\site-packages\flask\templating.py", line 120, in _render
rv = template.render(context)
File "c:\source\pythonstudy\venv\lib\site-packages\jinja2\environment.py", line 1090, in render
self.environment.handle_exception()
File "c:\source\pythonstudy\venv\lib\site-packages\jinja2\environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "c:\source\pythonstudy\venv\lib\site-packages\jinja2_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "C:\Source\PythonStudy\WebProject\FSBM\templates\question\question_list.html", line 1, in top-level template code
{% extends 'base.html' %}
File "C:\Source\PythonStudy\WebProject\FSBM\templates\base.html", line 16, in top-level template code
{% block content %}
File "C:\Source\PythonStudy\WebProject\FSBM\templates\question\question_list.html", line 20, in block "content"
File "C:\Source\PythonStudy\WebProject\FSBM\filter.py", line 2, in format_datetime
return value.strftime(fmt)
UnicodeEncodeError: 'locale' codec can't encode character '\ub144' in position 2: encoding error
127.0.0.1 - - [03/Sep/2020 02:06:30] "?[35m?[1mGET /question/list/ HTTP/1.1?[0m" 500 -
kimo 님
2020년 9월 3일 2:11 오전
웹페이지 오류메시지는 아래 와 같으며 혹시나해서 깃허브에서 3-03이후 내용에는 아래와 같은 오류가 발생됩니다.(03-02는 이상없습니다.)
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
kimo 님
M 2020년 9월 3일 5:11 오후
올려주신 트레이스를 보니 UnicodeEncodeError 오류가 발생했네요.
아마도 filter.py 파일의 인코딩이 UTF-8 이 아닌 다른 인코딩으로 되어 있을것 같네요.
파이참을 사용하신다면 우측하단에서 파일 인코딩을 UTF-8로 변경하실 수 있습니다.
다음 그림을 참고하세요.
박응용 님
2020년 9월 4일 4:55 오후
kimo 님
M 2020년 9월 6일 1:17 오전