본문 바로가기

Web Programming/Django

(32)
백엔드_CRUD 실습 1 오늘 해볼 실습의 내용은 크게 3가지 이다. 1. Models.py 를 활용해 우리가 웹 서버에서 관리할 데이터의 양식 정하기 2. Admin 페이지를 통해 원하는 데이터를 보다 쉽게 관리하기 3. Admin 페이지에서 관리중인 데이터를 보기(CRUD 중 R에 해당하는 부분) 실습에 앞서, django를 사용할 기본적인 세팅을 준비한다. 가상환경 만들기 - 가상환경 동작시키기 - 장고 설치하기 - 프로젝트 만들기 - 앱 만들기 - 프로젝트와 앱 연결하기 1) 가상환경 만들기 & 동작시키기 $ python -m venv myvenv # myvenv 이름으로 가상환경 만들기 $ source myvenv/Scripts/Activate # 가상환경 동작시키기 2) 장고 설치하기 $ pip install djan..
AWS_Django 프로젝트 배포하기 Elastic Beanstalk 를 통한 배포하는 법에 대해 알아보고자 한다. AWS에서 비교적 간단하게 장고프로젝트 배포를 위한 Elastic Beanstalk 서비스가 있다.단, 유의 사항이 4가지가 있다 1) AWS 과금방식, 1년 후에 과금이 되므로 주의하기2) AWS 계정 생성 3) 험난한 배포의 길 (실습 중 오류 발견하기)4) awsebcli 설치 (eb requirements.txtcs # .ebextensions 폴더manage.py 와 같은 계층에 .ebextensions 폴더 만들기django.config 파일 추가 .ebextensions/django.config123option_settings: aws:elasticbeanstalk:container:python: WSGIPath:..
PostgreSQL DB Django 프로젝트에서 사용하기 # 이론sqlite는 가벼운 DB, 본격적인 창업을 위한 대규모 데이터를 감당할 여러 DB 중 PostgreSQL 사용!(PostSQL 사용 이유는 무료이면서 설치와 사용이 쉬운 편이라서!) DB = 정보 저장 공간 1)지금까지 sqlite를 어떻게 사용해왔나settings.py 에서 sqlite3 를 가르키게 된다(연동).그리고 migrate를 통해 연결이 된다! 2) PostgreSQL 을 어떻게 사용할 것인가?(그렇다면 다른 DB를 쓰기위해서는)(1) 새로운 DB 설치(2) DB 연결(가르키기)(3) 연결(migrate) # 실습 # 새로운 DB 설치하기PostgreSQL 사이트 들어가서 Os에 맞게 설치password 설정할 때 superuser의 password이므로 기억하기!port 번호도 함..
App 재사용(패키징) # 이론하나의 앱은 하나의 기능만을 설계해서 사용!그렇다면 여러 웹 사이트를 만들면서 반복해서 사용하는 기능(앱)이 존재한다! 재사용 때 마다 처음부터 끝까지 코딩하는 것이 번거로울 수 있다-> 패키징을 통해 묶어둔다. 다른 프로젝트에서 원하는 앱을 재사용할 수 있다재사용에서 핵심은 앱을 묶기+풀기, 이렇게 두 가지로 나뉜다! 몇 개의 파일을 기록해두고 내용을 복붙해두면 된다.4개 - 기능명세서, 라이센스, 설치 방법 과정, 파이썬파일 아닌 파일들Readme.rst, LICENSE, setup.py, MANIFEST.in # 실습 # 폴더 생성(django-app이름)login 앱을 패키징하고 싶으면 프로젝트 내부에 새로운 폴더 생성해당 폴더에 기존 패키징하고 싶은 앱의 복사가 아닌 이동 수행! # 파일..
Heroku 배포하기 개발한 환경과 실제 웹사이트에서 많은 차이점들이 있기에 기존의 세팅들을 약간 수정해줘야 합니다. ## settings.py 수정하기우리가 개발 시 사용했던 secret키와 debug 는 배포에 있어 문제를 일으킬 수 있기에 약간의 수정이 필요합니다 # settings.py # SECURITY WARNING: keep the secret key used in production secret!#SECRET_KEY = ''SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', '"YOUR_SECREY_KEY")YOUR_SECREY_KEY') # SECURITY WARNING: don't run with debug turned on in production!#DEBUG = Tru..
Blog 보충(로그인 요구, 내가 쓴글) 1. 로그인 요구하기 참고: https://kite.com/python/docs/django.contrib.auth.decorators.login_required 12345678# projecgt/blog/views.py from django.contrib.auth.decorators import login_required @login_requireddef blogpost(request):...Colored by Color Scriptercs 2. 내가 쓴글 가져오기filter 사용 @login_requireddef mypost(request): blogs = Blog.objects.all() blog_list = blogs.filter(username=request.user.username) # 내가 ..
소셜로그인 API 활용하기 소셜로그인 구글 및 네이버 등 다양한 소셜 로그인을 Django에서 활용할 수 있다. ## 기능 구현을 위해 사용할 패키지 allauth 1$ pip install django-allauthcs ## settings.py 12345678910111213INSTALLED_APPS = [ ... 'django.contrib.sites', ... # allauth 'allauth', 'allauth.account', 'allauth.socialaccount', # provider 'allauth.socialaccount.providers.google', # 원하는 사이트 마지막에 google 대신 추가]Colored by Color Scriptercs 123456AUTHENTICATION_BACKENDS=( ..
네이버 지도 API 활용하기 네이버 지도 API 활용하기 API(Application Programming Interface) 응용 프로그램에서 사용할 수 있도록 OS, PR언어가 제공하는 기능을 제어할 수 있는 인터페이스. 우리 웹 페이지와 같은 응용 프로그램에서 우리가 갖고 있지 않은 외부기능을 가져다 쓸 수 있다. 네이버 지도 API 활용하기! ## Naver cloud platform ncloud 페이지 들어가서 회원가입 회원가입 후 서비스 들어가서 maps 클릭 maps 이용신청하기 클릭 하단에 application 등록 web dynamic mab 클릭 web 서비스 url은 http://127.0.0.1:8000 입력 clientID와 clientSecret 복사 사용설명서 누르면 자세한 설명을 볼 수 있음(https:..