Flask SNS Project

Jade J·2021년 1월 20일

Flask SNS Project

Setting up Flask

https://flask.palletsprojects.com/en/1.1.x/tutorial/factory/

https://wikidocs.net/81504

  • Environment: using venv, pip, flask in WSL

  • app = Flask(_ name _ ) 을 def creat_app 함수에 넣어서 해야지, 전역변수로 바깥에 쓰면 안된다. 그러면 circular import 에러가 발생할수있다. 꼭 factory function 인 create_app 안에 넣는다.

  • NameError

    • when running flask server, on localhost:5000 page encounters <Flask.cli.NoAppException: Could not import "app">

      → directory error. cd into 'src' and run flask again.

    • 2 of found error turns out to be due to misspelled words..

      Flask%20SNS%20Project%2015ecc6ebb01046789f06021102ee7b1a/Untitled.png

      'app' is not defined

      → had to instantiate flask 'app' before routing ( @ app.route("") )

      Flask%20SNS%20Project%2015ecc6ebb01046789f06021102ee7b1a/Untitled%201.png

      app = Flask(name)

    • create_app function should nest @app.route() functions ! ! !

  • 404 error

    • python -m flask run 으로 서버를 돌리니, 갑자기 404 에러가 나오기 시작했다. 처음에는 @app.route("/") 에서 두번째 인자에 methods=['GET'] 을 쓰지 않아서 인가 했는데, 해결되지 않았다.
    • 그래서 그 다음 시도는, 팩토리 함수인 create_app 함수 바로 아래 있던 return app 을, 데코레이트 된 함수들을 지나 맨 아래로 옮겼더니, 에러가 사라졌다!
  • 깃 세팅

    : WSL 에서 깃설정을 따로 또 해줘야한다.

    gitub 에서 저장소 만든후, git add remote <저장소이름> 그리고 git add,commit,push 한다.

    .gitignore 을 bash 커맨드에서 touch .gitignore 로 만든다. vsc 에서 만들면 인식이 안된다. 그리고 프로젝트 전체폴더로 하면 가상환경까지 들어가니까, src 폴더에서 깃을 처리한다.

    Flask%20SNS%20Project%2015ecc6ebb01046789f06021102ee7b1a/Untitled%202.png


setting up Mysql as DB for Flask app

  • could not log in to mysql on WSL

    아마도...

    jojo 패스: ''''

    root 패스: 1234

    MySQL 8.0 비밀번호 변경하기! (MySQL 5.7버전 이상)

    → WSL root password was not set. using to set root password. to start mysql.

  • config.py 로 mysql DB 연결해주기

    Flask%20SNS%20Project%2015ecc6ebb01046789f06021102ee7b1a/Untitled%203.png

    그렇다.. 난 저기 DB_URL = 에 ['user'] 대신 ['jojo'] 를 넣고있었다.. 똑같이 써주도록한다

Authentication

  • 인증 Endpoint

Frontend 구현과 api와의 연동

  • flask 를 구동하다가 포트 이미 열림 오류

    → netstat -ano 로 5000번 포트의 pid 를 확인한후 taskkill 하였다. 그랬더니 WSL 의 flask 프로젝트가 열리지 않는다? https://byounghee.tistory.com/191 참고

    Flask%20SNS%20Project%2015ecc6ebb01046789f06021102ee7b1a/Untitled%204.png

    5000 번 포트를 쓰고있는게 아무것도 없다 (....)

    읭? 좀있다 다시 flask 프로젝트를 여니 된다..

profile
개발의 길을 걷자

0개의 댓글