일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SEF2022
- sql
- 개인정보수집유효기간
- 코딩기초트레이닝
- GIT
- 프로그래머스
- React
- 스파르타
- 무료강의
- html
- 반응형
- error
- 프로그래머스입문
- css
- 장고이미지처리
- jquery
- 20492번
- 22938번
- 스파르타코딩클럽
- useState
- 프론트엔드
- ㅐㄱ이
- 파이썬무료강의
- 네이버커넥트재단
- 참가후기
- MongoDB
- django multi image
- python
- 장고 다중이미지
- 파이썬
- Today
- Total
코딩,해볼까
06.06. 최종 프로젝트 / python django project / 초기 파일 준비 : 가상환경 venv, postgresql 12, .env 본문
06.06. 최종 프로젝트 / python django project / 초기 파일 준비 : 가상환경 venv, postgresql 12, .env
떠굥 2023. 6. 6. 23:350. 파이썬 버전 확인
가장 안정적인 파이썬 3.8로 프로젝트를 진행하고자 한다.
내 컴퓨터에는 3.11 버전이 설치되어 있으므로, pyenv로 3.8 버전을 설치해준다.
macOS : pyenv | Window : pyenv-win
pyenv install 3.8.0
pyenv global 3.8.0
위 셋팅이 안될 시 pyenv 환경변수 참고 블로그에서 환경변수만 넣어줬다.
1. 가상환경 설정
python -m venv venv
source venv/Scripts/activate
+ 파이썬 버전 확인
python version
0번에서 pyenv global 을 지정하였기 때문에 3.8.0으로 나왔다.
pyenv local로 애플리케이션별 파이썬 버전을 설정할 수 있다.
2. requirements.txt 생성
pip freeze > requirements.txt
3. django rest-framework, simple-jwt 한꺼번에 설치.
pip install djangorestframework-simplejwt
+ macOS는 아래 4번단계 진행을 위해
pip install psycopg2-binary 를 먼저 해준다.
4. DB 설정
2) SQL Shell (psql) 실행 (함께 설치된다. 시작버튼 우클릭 검색을 이용하자.)
3) Shell 에서 아래와 같은 순서로 진행한다.
(enter > enter > enter > enter > 암호 입력 > postgres=# 나오면 성공!
Server [localhost]: # enter
Database [postgres]: # enter
Port [5432]: # enter
Username [postgres]: # enter
postgres 사용자의 암호: # postgrasql install 시 적었던 암호 입력
psql (10.23)
도움말을 보려면 "help"를 입력하십시오.
postgres=#
# 여기까지 나오면 성공!
4) 데이터베이스를 생성하자. (각 줄의 끝마다 ; 는 필수!)
- CREATE DATABASE 데이터베이스 이름;
CREATE DATABASE db이름;
# CREATE DATABASE 확인문구
- CREATE USER 유저이름 WITH PASSWORD '패스워드';
CREATE USER 유저 WITH PASSWORD '패스워드';
# CREATE ROLE 확인문구
- 인코딩, 아이솔레이션, 타임존, 유저 권한 추가.
아래와 같이 한줄씩 입력하고 확인문구가 나오는지 확인한다.
ALTER ROLE 유저 SET client_encoding TO 'utf8';
# ALTER ROLE 확인문구
ALTER ROLE 유저 SET default_transaction_isolation TO 'read committed';
# ALTER ROLE 확인문구
ALTER ROLE 유저 SET TIME ZONE 'Asia/Seoul';
# ALTER ROLE 확인문구
GRANT ALL PRIVILEGES ON DATABASE gwolnadri_db TO 유저;
# GRANT 확인문구
5. settings.py의 DATABASES 설정 + .env 설정
pip install django-environ
settings.py 파일
import os
import environ
# env 설정 : SECRET_KEY, DB
env = environ.Env(
DEBUG=(bool, False)
)
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
# env 설정 : SECRET_KEY
SECRET_KEY = os.environ.get("SECRET_KEY")
# Database = postgresql 12 / env
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': os.environ.get('DB_NAME'),
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': os.environ.get('DB_HOST'),
'PORT': os.environ.get('DB_PORT'),
}
}
.env 파일 (root 위치에 직접 생성한다.)
SECRET_KEY=''
DB_NAME=''
DB_USER=''
DB_PASSWORD=''
DB_HOST='localhost'
DB_PORT='5432'
6. DB 테이블 생성하고 기본 mirgate 진행
pip install psycopg2
python manage.py migrate
7. DB가 잘 설치되었는지 확인하기
- pgAdmin 4에서 확인하기
- pgAdmin 실행
- Servers 더블클릭 > postgresql 설치 시 입력한 pw로 접속
- PostgreSQL 12 > db 생성 시 만들었던 id와 pw로 접속
- Databases > Schemas > public > Tables 에 db가 생성된 것을 확인할 수 있다.
- SQL Shell 로 확인하기
- Database, Username, 사용자의 암호 입력
- \dt 입력
+ pgAdmin 실행오류, 실행되지 않을 때, 무한로딩
1. pgAdmin 링크로 가서 나에게 맞는 pgAdmin 버전을 다운받아 재설치한다.
2. pgAdmin4 v7(나는 7 버전을 다운받았다.) 을 실행하면 해결!
+ db 이름을 잘못 생성해서 지우고 다시 만들어봤는데, 다 지워지지 않은 것인지... root 가 생성되지 않았다. 더 알아보려고 한다.
'Back > TIL' 카테고리의 다른 글
06.08. 최종 프로젝트 / ERD 수정 및 1주차 기술 멘토링 준비 (0) | 2023.06.09 |
---|---|
06.07. 최종 프로젝트 / 팀원들과 프로젝트 준비 및 세팅 완료!💻 (0) | 2023.06.07 |
06.05. 최종 프로젝트 S.A (0) | 2023.06.06 |
06.02. Linux / ubuntu / Docker, docker image, entrypoint 도커 이미지, 엔트리 포인트 활용 방법 (0) | 2023.06.02 |
06.01. Linux / ubuntu / Docker, docker-compose, volume 도커 활용 방법 (0) | 2023.06.01 |