📢 공지사항
home

Gitignore설정, 환경변수 분리, 첫 커밋

복습
수강일
05월 12일
수강일_
2022/05/12
숫자
7
주차
1주차
체크
태그
Django Tutorial
gitignore - 버전컨트롤 할 때 추적하지 않아도 되거나, 배포할 때 보안 등의 문제로 깃에 올리지 않을 파일들을 깃에 올리지 않게 하는 것
django-environ - 장고의 시크릿키를 가릴 수 있게 해주는 라이브러리
import os, environ env = environ.Env( DEBUG=(bool, False) ) BASE_DIR = Path(__file__).resolve().parent.parent environ.Env.read_env( env_file=os.path.join(BASE_DIR, '.env') ) SECRET_KEY = env('SECRET_KEY')
Python
복사
settings.py
를 settings.py에 작성해주면, 시크릿키를 env에서 읽어온다. 후에 gitignore에 .env를 넣어주면 된다.

Git hub 설정

프로젝트 메인 디렉토리에 gitignore 라는 파일을 만들어 준 후,
jetbrain의 gitignore 코드를 작성해준다.
# Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser #가상환경을 제외하기 위해 작성 venv/
Python
복사

secret key

django에서 앱마다 배정되는것. 배포를 할 때, 노출시키면 안되므로 따로 관리를 해줘야한다.
.gitignore 파일을 project name 디렉토리에 만들어 준 후
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # User-specific stuff .idea/**/workspace.xml .idea/**/tasks.xml .idea/**/usage.statistics.xml .idea/**/dictionaries .idea/**/shelf # AWS User-specific .idea/**/aws.xml # Generated files .idea/**/contentModel.xml # Sensitive or high-churn files .idea/**/dataSources/ .idea/**/dataSources.ids .idea/**/dataSources.local.xml .idea/**/sqlDataSources.xml .idea/**/dynamic.xml .idea/**/uiDesigner.xml .idea/**/dbnavigator.xml # Gradle .idea/**/gradle.xml .idea/**/libraries # Gradle and Maven with auto-import # When using Gradle or Maven with auto-import, you should exclude module files, # since they will be recreated, and may cause churn. Uncomment if using # auto-import. # .idea/artifacts # .idea/compiler.xml # .idea/jarRepositories.xml # .idea/modules.xml # .idea/*.iml # .idea/modules # *.iml # *.ipr # CMake cmake-build-*/ # Mongo Explorer plugin .idea/**/mongoSettings.xml # File-based project format *.iws # IntelliJ out/ # mpeltonen/sbt-idea plugin .idea_modules/ # JIRA plugin atlassian-ide-plugin.xml # Cursive Clojure plugin .idea/replstate.xml # SonarLint plugin .idea/sonarlint/ # Crashlytics plugin (for Android Studio and IntelliJ) com_crashlytics_export_strings.xml crashlytics.properties crashlytics-build.properties fabric.properties # Editor-based Rest Client .idea/httpRequests # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser
Python
복사
를 입력해준후,
venv/ .env db.sqlite3 .idea/
Python
복사
등을 입력해서 깃에 연동시키지 않을 디렉토리/파일 등을 작성해준다

django-environ

secret key등을 노출시키지 않아도 내부적으로 읽어 처리할 수 있는 라이브러리.
$ pip install django-environ 를 입력하면 가상환경 내에 설치 가능.
상위 dir 에 .env 파일을 생성,
DEBUG=on # secret key=에 앱의 시크릿 키 입력 SECRET_KEY=django-insecure--c(jzk^ut3+vr(hb13i98&e_^d0%+l59$atxqp6galy1lwi69& DATABASE_URL=psql://urser:un-githubbedpassword@127.0.0.1:8458/database SQLITE_URL=sqlite:///my-local-sqlite.db CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213 REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=djgitango_redis.client.DefaultClient&password=ungithubbed-secret
Python
복사
를 입력해준다.
dir/settings.py 에
import os, environ env = environ.Env( # set casting, default value DEBUG=(bool, False) ) # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent # reading .env file environ.Env.read_env( env_file=os.path.join(BASE_DIR, '.env') ) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = env('SECRET_KEY')# env 파일에서 읽어온다.
Python
복사
를 입력해, secret key를 노출하지 않고 django-environ으로 처리할 수 있도록 해준다.

Git hub 연동

PyCharm → VCS → Git
terminal
git add . → git 에서 내부 파일들을 추적.
git commit -m"Initial commit"