컴굥일지

[Django Study 02] Django 시작 & Gitignore 본문

프로그래밍 강의/Django

[Django Study 02] Django 시작 & Gitignore

gyong 2022. 4. 11. 00:09
반응형

[첫 앱 시작, 그리고 기본적인 view 만들기]

# terminal에서 app 생성하기
python manage.py startapp [원하는 app 이름]

이 명령어를 치면, accountap이라는 폴더가 따로 생긴다.

이렇게 생성된 프로젝트를 main(pragmatic)에서 쓰기 위해서는, main 폴더의 settings.py 파일을 수정해주어야 한다.

아래와 같이 settings.py에 위에서 생성한 app 이름을 추가해주면, main에서 우리가 이 app을 추가했고, 사용할 것이라는 것을 알게 된다.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'accountapp',  # 이것을 추가해 주어야 한다.
]

accountapp/views.py에 아래와 같이 쓰면 일단은 view만 만든 것이 된다.

#accountapp/views.py
from django.http import HttpResponse
def hello_world(request):
    return HttpResponse("Hello World!!")

위 코드는 request로 url을 받으면 해당 홈페이지에서 Hello World!! 를 띄우는 함수를 작성한 것이다.

이제 이렇게 만든 화면을 보기 위해서 연결을 시켜주는 작업이 필요하다.

특정 주소를 들어갔을 때, 특정 view를 보여주기 위해서 routing 과정이 필요하다.

#pragmatic/urls.py
from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls), #원래 만들어져 있다.
    path('account/', include('accountapp.urls')), #이 부분을 작성해 주어야 한다.
]

path('account/', include('accountapp.urls'))

account/ 라는 주소로 접근을 하면 accountapp안의 urls.py에 접근해서, 그 안에서 다시 분기를 하는 방식으로 접근할 수 있다.

#accountapp/urls.py
from django.urls import path
from accountapp.views import hello_world

app_name="accountapp"

urlpatterns = [
    path("hello_world/", hello_world, name='hello_world'),
        #path(["주소"], [가져오는 함수 이름], [이 route의 별칭]),
]

account 하위 주소에서, hello_world라는 주소로 접근하면 위에서 만든 hello_world view를 볼 수 있게 된다.

#아래 코드를 터미널에서 치면 127.0.0.1.8000/에 접속할 수 있다.
#저 주소 뒤에 account/hello_world/를 붙이면 위에서 만든 홈페이지를 볼 수 있다.
python manage.py runserver


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

  • .gitignore 파일을 사용하여 github에 올리지 않을 파일들을 관리할 수 있다.
  • github에 올리지 말아야 할 정보들의 경우, 이 .gitignore을 통해 관리할 수 있다.

시크릿키 관리하기

  1. 터미널에 pip install django-environ 을 입력한다.
  2. main의 settings.py에 코드를 일부 수정한다.
from pathlib import Path

import environ
import os

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

# Take environment variables from .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') ##이 부분이 중요하다.

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
  1. .env 파일에 아래와 같이 입력한다.
# .env파일을 생성하여 시크릿키를 따로 빼낸다.
DEBUG=on
SECRET_KEY=[시크릿키(따옴표 빼고 적기)]
DATABASE_URL=psql://user: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=django_redis.client.DefaultClient&password=ungithubbed-secret
  1. .gitignore.env 파일을 추가한다.

 

[출처] 작정하고 장고! Django Pinterest 따라만들기 : 바닥부터 배포까지

섹션 1. Django Tutorial (5강 ~ 7강)

https://www.inflearn.com/course/%EC%9E%A5%EA%B3%A0-%ED%95%80%ED%84%B0%EB%A0%88%EC%8A%A4%ED%8A%B8/dashboard

반응형
Comments