티스토리 뷰
[DRF] get 요청받는 API 만들기 (2) 에서 만든 API를 배포해보겠습니다..!
pythonanywhere 에 들어가서 Beginner account를 만들어줍니다 (무료 ♥️)
(Beginner 계정으로 배포한 건 3개월만 접속가능합니다)
Deploying an existing Django project on PythonAnywhere 문서를 따라해봅시다-!!
[1] Uploading your code to PythonAnywhere
계정만들고 로그인하면 이 화면이 나오는데요
여기서 Console 탭을 누르고 bash를 눌러주세요
그러면 이런 bash console이 뜨게 됩니다.
git clone https://github.com/eunjin3786/onion_family_api
깃에 올린 내 프로젝트를 클론해주세요
[2] Create a virtualenv and install Django and any other requirements
아래 명령어로 가상환경을 만들어줍니다.
가상환경이름은 저는 onion_family_env로 해줬어요 (onion_family가 플젝이름이여서,,)
virtualenv --python=python3.7 onion_family_env
아래 명령어로 가상환경에 진입해주세요
source onion_family_env/bin/activate
그리고 가상환경에 필요한 패키지를 설치해줍니다.
pip install djangorestframework
pip freeze 명령어 이용해서 requirements.txt (사용하는 패키지 목록 다 적혀있는 파일) 만들었다면
아래 명령어로 패키지들을 모두 설치해줄 수 있다고 하네요
pip install -r requirements.txt
저는 설치해야하는 패키지가 하나밖에 없는데 여러개 있으면 유용하겠네요,,!!
[3] Database setup
장고 프로젝트 디렉토리로 이동합니다.
cd onion_family_api
데이터베이스 setup (또는 sync) 해줍니다.
python manage.py migrate
[4] Setting up your Web app and WSGI file
이제 웹 탭에 가서
Add a new web app을 눌러줍니다.
무료 계정이여서 custom domain은 못쓴다고 나오는데 (그래도 감사..)
확인하고 Next를 눌러주세요~
그다음에 파이썬 프레임웤 물어보는데 문서에서 선택하라는 거 선택해줄게요
그다음에 파이썬 버전 물어보는데 가상환경만들때 설정해준 버전으로 체크해주면 됩니다.
이제 이런 화면 나오는데,
스크롤을 내려서 Virtualenv 경로를 넣어줍니다.
/home/사용자아이디/아까만든가상환경이름
이렇게 넣어주면 되요-!!
그 다음에 Code Section으로 가서
wsgi 링크를 눌러주세요
그럼 이런 화면이 나와요-!!
다 지우고 문서에 있는 코드를 복붙해주세요-!!
# +++++++++++ DJANGO +++++++++++
# To use your own Django app use code like this:
import os
import sys
# assuming your Django settings file is at '/home/myusername/mysite/mysite/settings.py'
path = '/home/myusername/mysite'
if path not in sys.path:
sys.path.insert(0, path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
## Uncomment the lines below depending on your Django version
###### then, for Django >=1.5:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
###### or, for older Django <=1.4
#import django.core.handlers.wsgi
#application = django.core.handlers.wsgi.WSGIHandler()
그리고
myusername -> 자신의 아이디
mysite -> 자신의 플젝 이름
으로 바꿔주세요
불필요한 주석을 지우고 Save를 눌러줍니다.
다시 웹탭에 돌아와서 reload 버튼을 해줍니다.
https://사용자아이디.pythonanywhere.com/admin/ 이 주소로 admin 홈페이지가 들어가지면 성공입니다 🎉
이 주소 (eunjin3786.pythonanywhere.com/question/all/) 도
잘들어가집니다..!
저기서 json 링크를 누르면
이 url로 타고 들어가지고 json만 나오네요,,
admin에 접속해서 DB에 데이터 추가해봐도
잘 나옵니다.. >_____<
CSS 이슈
원래 admin 페이지가 이렇게 나와야하는데, CSS가 안먹었죠,, 😓
[PythonAnywhere] 장고 admin 페이지 CSS가 안먹을때 를 봐주세요-!!
재배포
git에 새로운 커밋을 하고
콘솔을 열어줍니다.
가상환경 진입해주고
프로젝트로 이동해서 git pull 받고
웹 탭에 가서 refresh 버튼 누르면 됩니다.
(참고: [PythonAnywhere] 장고 admin 페이지 CSS가 안먹을때 여기에서 재배포 내용 더 자세히 적어뒀습니다++)
Reference
Deploying an existing Django project on PythonAnywhere
book.coalastudy.com/python-django/week-6/stage-4
'🐍 > DRF' 카테고리의 다른 글
[DRF] ERD(Entity–relationship model) 그리기 & 모델 만들기 (0) | 2020.09.13 |
---|---|
[PythonAnywhere] 장고 admin 페이지 CSS가 안먹을때 (0) | 2020.09.13 |
[DRF] get 요청받는 API 만들기 (2) (0) | 2020.09.11 |
[DRF] get 요청 받는 API 만들기 (1) (0) | 2020.09.10 |
[DRF] 모델과 ModelSerializer 만들기 (0) | 2020.09.10 |
- Total
- Today
- Yesterday
- Flutter 로딩
- DRF APIException
- flutter deep link
- flutter dynamic link
- Flutter Spacer
- Sketch 누끼
- Flutter getter setter
- Python Type Hint
- ribs
- flutter 앱 출시
- cocoapod
- 플러터 싱글톤
- Flutter Clipboard
- Django FCM
- github actions
- drf custom error
- SerializerMethodField
- ipad multitasking
- flutter build mode
- Django Heroku Scheduler
- Dart Factory
- Flutter Text Gradient
- PencilKit
- 구글 Geocoding API
- Django Firebase Cloud Messaging
- 장고 URL querystring
- 플러터 얼럿
- METAL
- Watch App for iOS App vs Watch App
- 장고 Custom Management Command
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |