소개
게시글
질문&답변
2022.09.03
에러문의
자세히 찾아보니 오타가 있었네요.수정하니까 정상작동 되는거 확인하였습니다.
- 1
- 3
- 911
질문&답변
2022.09.01
에러문의
login_required 지우고 했는데도 똑같은 에러가 발생하네요.. 6분44초 전까지는 다 잘 됐었는데.. 다른 데서 로그인체크기능도 잘 작동하는데.. @blueprint.route("/comment_write", methods=["POST"]) def comment_write(): if request.method == "POST": name = session.get("name") writer_id = session.get("id") root_idx = request.form.get("rood_idx") comment = request.form.get("comment") current_utc_time = round(datetime.utcnow().timestamp() * 1000) c_comment = mongo.db.comment post = { "root_idx": str(root_idx), "writer_id": writer_id, "name": name, "comment": comment, "pubdate": current_utc_time } c_comment.insert_one(post) return redirect(url_for("board.board_view", idx=root_idx))BuildErrorwerkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'board.board_view'. Did you forget to specify values ['idx']?Traceback (most recent call last)File "c:\Python\myweb\venv\lib\site-packages\flask\app.py", line 2091, in __call__return self.wsgi_app(environ, start_response)File "c:\Python\myweb\venv\lib\site-packages\flask\app.py", line 2076, in wsgi_appresponse = self.handle_exception(e)File "c:\Python\myweb\venv\lib\site-packages\flask\app.py", line 2073, in wsgi_appresponse = self.full_dispatch_request()File "c:\Python\myweb\venv\lib\site-packages\flask\app.py", line 1519, in full_dispatch_requestrv = self.handle_user_exception(e)File "c:\Python\myweb\venv\lib\site-packages\flask\app.py", line 1517, in full_dispatch_requestrv = self.dispatch_request()File "c:\Python\myweb\venv\lib\site-packages\flask\app.py", line 1503, in dispatch_requestreturn self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)File "c:\Python\myweb\main\board.py", line 39, in comment_writereturn redirect(url_for("board.board_view", idx=root_idx))File "c:\Python\myweb\venv\lib\site-packages\flask\helpers.py", line 336, in url_forreturn appctx.app.handle_url_build_error(error, endpoint, values)File "c:\Python\myweb\venv\lib\site-packages\flask\helpers.py", line 323, in url_forrv = url_adapter.build(File "c:\Python\myweb\venv\lib\site-packages\werkzeug\routing\map.py", line 917, in buildraise BuildError(endpoint, values, method, self)werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'board.board_view'. Did you forget to specify values ['idx']?The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.To switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side.You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:dump() shows all variables in the framedump(obj) dumps all that's known about the object(사진)(사진)
- 1
- 3
- 911
질문&답변
2022.08.30
파일이름 체크하는 부분 질문드립니다.
마지막 질문입니다... 윈도우에서 실행하였습니다. import re import os def check_filename(filename): reg = re.compile("[^A-Za-z0-9_.가-힝-]") for s in os.path.sep, os.path.altsep: if s: filename1 = filename.replace(s, ' ') print("filename => " + filename1) join = '_'.join(filename1.split()) print("join => " + join) sub = reg.sub('', join) print("sub => " + sub) strip1 = str(sub).strip("._") print("strip1 => " + strip1 ) filename = strip1 return filename print(check_filename("../../filename/.bash"))(사진)filename = strip1 값을 마지막줄에 넣어서 정상적으로 파일네임이 나오는 것이 확인됩니다.여기서 궁금한점이 결과출력 1번에 보면 그것은filename.replace(s, ' ') 의 결과물 값을 의미하는데 그것은 슬러시나 역슬러시 문자를 공백으로 만든다는 의미잖아요 그런데 결과출력 1은 공백으로 나오지 않은것인지 하는 부분이요... 제 생각에 결과출력 1은 filename => .. .. filename .bash 이렇게 나와야 할거같은데 말이죠.. 그리고 결과출력 2번도 공백을 _ 으로 묶는다는 의미니까 join => .._.._filename_.bash 이렇게 나와야 할 거 같은데 이렇게 나오질 않네요..
- 1
- 5
- 386
질문&답변
2022.08.30
파일이름 체크하는 부분 질문드립니다.
윈도우 운영체제에서 실행하였습니다. import re import os def check_filename(filename): reg = re.compile("[^A-Za-z0-9_.가-힝-]") for s in os.path.sep, os.path.altsep: if s: filename1 = filename.replace(s, ' ') print("filename => " + filename1) join = '_'.join(filename1.split()) print("join => " + join) sub = reg.sub('', join) print("sub => " + sub) strip1 = str(sub).strip("._") print("strip1 => " + strip1 ) return filename print(check_filename("../../filename/.bash"))(사진)print("strip1 => " + strip1 ) 코드 아랫줄에 filename = strip1 를 넣어줘야 제대로 작동하는데요 일부러 그 부분 제외하고 실행시켜 보았습니다. 그러면 strip1 값이 filename_.bash 로 나옵니다. 그다음에 filename = strip1 를 넣어서 실행하면 정상적으로 filename.bash 로 나옵니다. 어쨋든 저기서 strip1 값은 filename_.bash입니다. 그런데 strip1 에서 갑자기 중간에 있는 _ 가 사라지는지가 궁금할 따름입니다.
- 1
- 5
- 386
질문&답변
2022.08.29
파일이름 체크하는 부분 질문드립니다.
윈도우에서 실행했고filename.bash로 잘 나옵니다.strip 함수가 중간의 _를 제거하지는 못할텐데리턴하면 희한하게 제거가 자동적으로 되네요
- 1
- 5
- 386