25%
41,250원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 남박사의 파이썬으로 실전 웹사이트 만들기
몽고 DB를 GCP 저장용량 체크 방법이 궁금합니다.
삭제된 글입니다
- 해결됨남박사의 파이썬으로 실전 웹사이트 만들기
join.html에서 회원 가입하면 not found로 넘어갑니다.
회원가입페이지 만들기 부분에서 not found 오류가 납니다. {% with messages = get_flashed_messages() %} {% if messages %} <script> alert('{{messages[-1]}}'); </script> {% endif %} {% endwith %} <div class="join_container"> <form action="form" method="POST" action="/join"> <div class="form_group"> <label for="name">이름</label> <input type="text" name="name" id="name"> </div> <div class="form_group"> <label for="email">이메일</label> <input type="text" name="email" id="email"> </div> <div class="form_group"> <label for="pass">비밀번호</label> <input type="password" name="pass" id="pass"> </div> <div class="form_group"> <label for="pass2">비밀번호 확인</label> <input type="password" name="pass2" id="pass2"> </div> <div class="form_group"> <input type="submit" value="가입하기"> </div> </form> </div> @app.route('/join', methods=['GET', 'POST']) def member_join(): if request.method == 'POST': name = request.form.get('name', type=str) email = request.form.get('email', type=str) pass1 = request.form.get('pass', type=str) pass2 = request.form.get('pass2', type=str) if name == '' or email == '' or pass1 == '' or pass2 == '': flash('입력되지 않은 값이 있습니다.') return render_template('join.html') if pass1 != pass2: flash('비밀번호가 일치하지 않습니다.') return render_template('join.html') members = mongo.db.members cnt = members.find({'email': email}).count() if cnt > 0: flash('중복된 이메일 주소입니다.') return render_template('join.html') current_utc_time = round(datetime.utcnow().timestamp() * 1000) post = { 'name': name, 'email': email, 'pass': pass1, 'joindate': current_utc_time, 'logintime': '', 'logincount': 0, } members.insert_one(post) return '' else: return render_template('join.html')
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
pymongo.errors.operationfailure 에러는 왜 발생할까요??
아래 스크립트 실행 하였고 from flask import Flask from flask import request from flask import render_template from flask_pymongo import PyMongo app = Flask(__name__) app.config["MONGO_URI"] = "mongodb://localhost:27017/myweb" mongo = PyMongo(app) @app.route("/write", methods=["GET", "POST"]) def board_write(): if request.method == "POST": name = request.form.get("name") title = request.form.get("title") contents = request.form.get("contents") print(name, contents, title) board = mongo.db.board post = { "name": name, "title": title, "contents": contents, } board.insert_one(post) return "" else: return render_template("write.html") if __name__ == "__main__": app.run(host="0.0.0.0", debug=True, port=9000) 웹페이지에서 값 입력 후 제출 버튼 누르면 아래 에러가 발생합니다. 왜 이러는 걸까요?? 혹시 robo3T에서 어드민을 설정해서 이런걸까요?? 뭐 하나 할때마다 이런 에러가 나네요...ㅜㅜ
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
9000번 포트를 바꾸고 저장했는데 여전히 5000번 포트에서 왜 열리나요?
안녕하세요. 연습 중 포트를 변경해서 웹페이지 재실행 했는데 여전히 5000번 포트에서 열리고 있어요.. from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "<h5>헬로 파이썬</h5>" if __name__ == "__main__": app.run(host="0.0.0.0", debug=True, port=9000)
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
웹서버 서비스 작동하는 과정중에서
myweb이랑 nginx 데몬을 구동하면 잘 동작하는 것 같은데요.. window에서 localshot:5000 (5000번 포트로 했습니다) 했을때 uwsgi.ini 가 test:app (test파일) 을 했을때 해당 문구가 잘뜹니다. 근데, 이걸 run:app으로 설정하게 되면 자꾸 no python application found, check your startup logs for errors - 이 오류가 뜹니다. 그리고 이게 언제뜨는 오륜지는 모르겠는데, log파일에 가끔씩 from flask pymongo import PyMongo ModuleNotFoundError No module named 'flask pymongo' 이 오류도 같이 있습니다. 분명 venv환경에서 pip list에 Flask-PyMongo가 깔려있고, venv환경에서 python3 -> from flask_pymongo import PyMongo 했을시, 임포트가 되는데 어디서 잘못된 걸까요..?
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
(venv)가 생성되지 않습니다.
다른 질문들에 달린 강사님의 답변 속 조치를 전부 시도하였으나, (venv)가 생성되지 않습니다. 파이썬 자체를 삭제하고 재설치해보기도 했고, 컴퓨터 및 VS CODE 재시작도 해봤는데 여전히 해결되지 않고 있습니다. 도움주시면 감사하겠습니다.
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
기본 문법 연습 시 Permission denied가 발생해서 실행인 안됩니다.ㅜㅜ
안녕하세요. 강의 너무 잘 듣고 있습니다. 현재 몽고디비 기본 문법 코드 작성하신 것 연습하는데 test.py 실행 시 Permission denied으로 실행이 안됩니다. 제 노트북은 맥북이고 카탈리나 업데이트하였습니다. 아래는 제가 연습한 코드 내용입니다 참고하세요~ import pymongo m = { "이름" : "홍길동", "나이" : 30, "거주지" : "서울", "키" : 170, "몸무게" : 80, "프로필사진" :[ "a.jpg", "b.jpg" ] } conn = pymongo.MongoClient("localhost", 27017) db = conn.test col = db.members col.insert(m)
- 해결됨남박사의 파이썬으로 실전 웹사이트 만들기
강의중에, 웹배포하는 과정중에서 ini파일 설정파일이 잘 동작이 안됩니다.
강좌 리눅스에서 우분투로 배포하기에서, uwsgi.ini파일을 설정하고 그 파일로 실행하려는데, 자꾸 오류가 납니다. 인터넷에 검색해보니, 디렉토리 파일 위치문제로 보입니다만,,, 해결이 되지 않아서 삽질하다가 질문 올립니다... 일단 제 환경부터 먼저 말씀드려야 할것 같아서요. Window(host Os) 에 VMware(linux, ubuntu)를 쓰고 있고, host와 가상머신은 공유폴더를 사용하고있습니다. 제 프로젝트로 이 가상폴더 /mnt/hgfs/shared_folder/web에 설정되어있고 여기가 root_directory입니다. 저의 현재 ini파일의 내용은 [uwsgi] module = run:app master = true processes = 5 ## socket=web.sock 역시 오류가 납니다. socket = /mnt/hgfs/shared_folder/web.sock chmod-socket = 660 vacuum = true die-on-term = true logto = %n.log 이구요, 로그내용은 nodename: ubuntu machine: x86_64 clock source: unix detected number of CPU cores: 2 current working directory: /mnt/hgfs/shared_folder/web detected binary path: /usr/local/bin/uwsgi !!! no internal routing support, rebuild with pcre support !!! your processes number limit is 15413 your memory page size is 4096 bytes detected max file descriptor number: 1024 lock engine: pthread robust mutexes thunder lock: disabled (you can enable it with --thunder-lock) bind(): No such file or directory [core/socket.c line 230] 아 맞다, 그리고 python 가상환경 파일 /venv/에서 작업을 했는데요, 여기서 /venv/web파일은 /mnt/hgfs/shared_folder/web파일과 링크되어있는 파일입니다. 뭐가 문제일까요....도와주세요
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
flask로 만든 웹사이트를 깃허브 블로그에 배포할 수 있나요??
python, flask를 활용하여 웹사이트를 하나 만들었습니다. 물론 만든 웹사이트를 구글 클라우드 플랫폼에 배포도 하여 1개월간 테스트도 해보았는데요. 혹시 이렇게 파이썬과 플라스크를 통해 만든 웹사이트를 깃허브 블로그로 업로드하여 운영 할 수 있는지 궁금합니다. 만약 있다면.. 관련 내용에 대해 참고할 만한 사이트가 있는지도 궁금합니다.
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
summernote 이미지 업로드 관련 문의사항
안녕하세요 :) 남박사님 강의에서 게시판에 이미지 업로드 할 경우 ajax를 사용하여 실습하였는데 박사님께서 이 후에 올린 자료에는 write.html에 <form name="form" method="POST" action="{{url_for('board.board_write')}}" onsubmit="return CheckWriteForm();" enctype="multipart/form-data"> <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/> 위 처럼 csrf 토큰을 적용한 것을 보았습니다. 토큰이 적용될 경우 image upload 가 안되었습니다. 토큰을 적용하면서 image upload를 할수 있는 방법있을까요? 감사합니다.
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
이미지 업로드할때 이해가 안되서요..
HTML 에디터에 해당 이미지를 넣는것<- 이강의에서 잘이해가 안되는 부분이 잇는데요. 제가 이해한 코드방향은 write.html에서 formdata를 비동기로 보내는데 여기서 url_for('upload_image') <- 여기서 해당파일을 검사해서 저장하는걸로 알고있습니다. 그리고서 'board_image') <- 이쪽으로 이동해서 해당 저장된 파일의 data를 읽어오는데요, 여기서 return한 send_form_directory의 정보가 write.html에서 어디서 받는건가요?? ajax에서 success_function의 parameter로 들어오는건가요?? 그리고 success_function에 image[0] <- 이 부분도 이해가 잘안됩니다. 지역변수로써, image의 태그 한줄만 선언되었는데 인덱스 0을 꼭 입력해줘야 동작되더라고요.. 질문이 많아서 죄송합니다... 감사합니다.
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
가상환경이 실행이 안됩니다.
venv\Scripts\activate.bat를 터미널 창에서 똑같이 실행했는데도 (venv)가 생기질 않네요... 어떡하죠?
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
29분:04초 쯔음, upsert 관련 질문 드립니다.
코드를 실행하니, 이번에도 역시 파이썬 업데이트로 따른 문제가 생기는 거 같은데, col.update_one({"이름 " : "가제트"}, {"$set": {"별명 " : "가박사"}}, upsert=True, multi=False)를 실행하니 col.update_one({"이름 " : "가제트"}, {"$set": {"별명 " : "가박사"}}, upsert=True, multi=False) TypeError: update_one() got an unexpected keyword argument 'multi'이라는 에러가 뜨네요. multi가 다른 것을 써 줘야 하는 것 같은데 뭘 써줘야 할까요>?
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
저도 몽고디비 인서트가 안되네요..
MongoTest/test.py:20: DeprecationWarning: insert is deprecated. Use insert_one or insert_many instead. col.insert(m)이런 오류가 뜨는데 어떻게 하면 해결할 수 있을까요?
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
댓글 저장문제
겨우 에러 없에고 저장해놨던 파이로로 다시 해보고 있는데 전과 같은 댓글이 잘 작성이 되긴 하는데 Robo T3 에 board, members 외에 comment 라는 것이 생성되고 그안에 댓글들이 저장되고 있습니다. 우선 반복적으로 해봐서 보안강화 를 무사히 끝네고 Ajax 이전에 있는 댓글기능 구현에서 문제가 생기는건 확인하였습니다. 그리고 확실치는 않지만 여러번 해본결과 board.py 에서 댓글기능 하면서 comment_write 함수 안에서 문제가 생긴게 아닌가 추측되는거 까진 해보았으나 확실하지는 않습니다. 분명 동영상 내용과 제가 coding 한게 동일하다 생각되어 동영상 사진과 제가 coding 한 사진 그리고 T3 사진을 올립니다. upload 한 사진에서 문제점이 보이신다면 그 네용과 해결할수 있는 방법과 실제 그럼 어디에 댓글이 저장되어야 하는지 알았으면 합니다. 동영상 강의 사진 coding 한 사진 T3 사진
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
사이트에 연결할 수 없음 질문드려요~
안녕하세요. 박사님. 서버설정하고 도메인 연결까지 다 완료하였는데요. 어제는 ip주소나 도메인으로 잘 접속이 되던것이 갑자기 사이트에 연결할 수 없음 ******에서 연결을 거부했습니다. 라고 뜹니다. 다만 포르테이너는 아이피나 도메인으로도 접속이 잘 됩니다. 어제 밤에 mobaxterm 을 켜놓고 자서 그런건지.. 서버를 재부팅 해보고 해도 아이피로 접속도 해봤지만 서버연결이 처음이라 그런지 원인을 알기가 어렵네요. 아무것도 변경한 것이 없는데.. 보통 어떤 이유에서 이런 현상이 발생될까요??
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
로그인 페이지에 대해 질문 드립니다!
안녕하세요! 강의를 들으면서 로그인 페이지를 한번 구현해 보았는데요, 제 홈페이지에선 일단 id와 password로 가입하도록 하였습니다. 그런데 회원가입 페이지에서는 중복된 아이디가 잘 찾아집니다.회원가입 시에는 id가 겹치는게 잘 찾아지는데, 로그인 페이지에서는 이미 insert된 데이터베이스 정보를 찾지 못하고 전부 회원 정보가 없다고 뜹니다. 무엇이 잘못되었는지 한번 확인해주실수 있을까요? @app.route("/login", methods=["GET","POST"]) def member_login(): if request.method == "POST": id = request.form.get("id") pass1 = request.form.get("pw") member=mongo.db.members data= member.find_one({"id": id}) if data is None: flash("회원 정보가 없습니다!!") return redirect(url_for("member_login")) else: if data.get("pw") == pass1: session["name"] == data.get("name") session["id"] == str(data.get("_id")) session.permanent = True return render_template("success.html") else: flash("비밀번호가 일치하지 않습니다.") return redirect(url_for("member_login")) else: return render_template("login.html")
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
render_template과 redirect
안녕하세요. 로그인과정에서 오류발생시 redirect(url_for("members_login")) 이렇게 처리되는데요. render_template("login.html") 과의 차이는 무엇일까요?? 표면상으로는 동일해보여서요. 더불어서 로그인 성공시 return redirect(url_for("lists")) 를 통해 list로 이동하게 되면 session["email"], session["name"] 등의 정보가 자동으로 넘어가서 리스트에서 출력되는 것 같은데 어떻게 가능한가요??
- 미해결남박사의 파이썬으로 실전 웹사이트 만들기
가상환경은 매번 활성화 시켜줘야 하는지에 대한 질의
안녕하세요! 박사님, 좋은 강의 덕에 눈이 트이고 있는 대학생입니다. 초반에 가상환경을 설치하여 활성화하고, flask를 설치하였습니다. 컴퓨터를 종료 후, 다시 코딩을 하려고 보니, 가상환경을 venv/Scirpts/activate를 하지 않을 경우, flask를 인식하지 않더라고요. 제가 하고 싶은 질문은 매번 가상환경을 활성화 시켜야 하는 건지 궁금합니다. 이 부분은 제가 구글링 실력이 아직 미흡한 것인지 마땅한 설명을 찾지 못했네요.
- 해결됨남박사의 파이썬으로 실전 웹사이트 만들기
이해가 되지 않는 부분이 있어 질문드립니다..!
안녕하세요 박사님. 고민고민하다가 질문 드립니다..ㅠㅠ 현재 저의 실습환경은 이렇습니다. *vitualbox *호스트os:windows10 *게스트os:ubuntu 20.04 LTS (데스크탑 버젼) * NAT방식 (포트포워딩) 설정은 아래와 같습니다. * 실습 진행 status - 해당 강의 (27:37)까지 전부 강의와 동일하게 진행하였습니다. 질문 - 해당 강의의 (18:23) 부분에서 사이트가 9200번 포트를 사용하도록 설정하였는데요. 그래서 강의 (27:37)부분에서 9200번 포트로 접속이 가능한 것으로 이해했습니다. 그런데 저의 경우 192.xx.xx.x:9200/member/login으로 접속하면 연결 거부가 뜨면서 접속이 불가능합니다. 대신 uwsgi --socket 0.0.0.0:5000 --protocol=http -w run:app 으로 직접 연결(?)을 해준 후에 5000포트로는 접속이 가능합니다. 192.xx.xx.x:5000/member/login 왜 이런 현상이 발생하는지 답답하여 질문 드립니다 ㅠㅠ.....!... 답변해주시면 정말 감사하겠습니다..!