-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the Scoop-A-Dive wiki!
- Django (Python)
점프 투 장고 Wiki docs
Book: 핸즈온 장고
Startapp이나 Startproject로 시작하지 않는 프로젝트에 대한 오류
처음에 python startproject 를 통해 프로젝트를 만들고, 다음에 깃허브에서 클론 받아서 진행할 때는 python startproject로 진행하는 경우가 아니기 때문에 위와 같은 에러가 뜬다. 그래서 터미널에서 python manage.py runserver
로 서버를 껐다 켰다 하기로 했음. 가상환경을 activate 하는 것을 잊지 말 것(venvs에서 activate 할 때 맥은 source activate
명령어를 통해야 함).
happy_buddies의 template에서
pairUpBuddies 함수 안의
newStudentKisu 변수를 해당 연도의 신입생 기수로 값을 넣을 것.
예) 2024년이면 신입생의 기수가 40기 이니, newStudentKisu = 40;
인코딩된 api key를 인증키 value 에 넣어서 curl -X 'GET' \ 'https://api.odcloud.kr/api/15045337/v1/uddi:cf70399f-9d4b-41ed-840b-820f27aa9480?page=1&perPage=10&serviceKey='인코딩된 키' \ -H 'accept: */*'
해주어야 한다.
코드에서 serviceKey 를 삽입하는 곳에는 인코딩된 키를 넣어주어야 한다.
-> XML 형식이 아닌 JSON 형식으로 데이터를 가져올 것임.
SERVICE KEY IS NOT REGISTERED ERROR 인코딩, 디코딩 다 해봐도 안됨(대학 전공 API 가져올 때).
- Gunicorn 실행
gunicorn —bind unix:/tmp/gunicorn.sock scoopadive.wsgi:application
- 백그라운드에서 실행 (gunicorn -bind ... 명령어를 치지 않아도...)
nohup python manage.py runserver --insecure 0.0.0.0:8000 &
-> no hang up: 종료하지마라, -> --insecure: DEBUG 모드가 false기 때문에 css, media 파일이 동작하도록 하기 위해 secure로 실행 -> &: 백그라운드로 실행
즉,nohup gunicorn —bind unix:/tmp/gunicorn.sock scoopadive.wsgi:application
을 해줘야 매번 gunicorn --bind ... 를 하지 않아도 백그라운드에서 gunicorn 이 실행됨.
ps -ef # 실행중인 프로그램 조회 kill -9 PID # PID에 프로세스 아이디 입력하여 종료
서버에서 코드 고쳤을 때, sudo systemctl restart mysite.service
MEDIA_ROOT = '/home/ubuntu/...' 경로 잘 맞춰주기. STATIC_ROOT 도 마찬가지.
template 에서 enctype="multipart/form-data" 꼭 잘 써주고, views.py 에서 request.FILE['images'] 로 잘 가져오기.
--> request.FILES.get('images') 로 해야 MultiDicKeyError 안남.
꼭 template의 form 에 enctype=multipart/form-data
넣어 줘야 이미지가 업로드 됨.
cd /etc/nginx/sites-available/mysite 에서
location /media {
alias /home/ubuntu/projects/mysite/scoopadive/media/;
try_files $uri $uri/ =404;
autoindex on;
}
추가 잘 해주기.
- develop-frame 브랜치에 웹사이트의 틀을 만들어 두었으며, 위키독스를 참고하였다.
- SSL Cerbot Certbot 설치, 사용법 (Ubuntu)
- API key(openAPI), 회원 정보, 회원가입 및 비밀번호 등은 어떻게 보호할 것인가?