매일공부

[Django] templates, static, db 경로 설정 본문

Programming/web

[Django] templates, static, db 경로 설정

aram 2023. 8. 7. 01:06

 

templates url 설정

local에서 실행할 때 템플릿이 해당 경로에 있는데도 적용이 안 되고,
static 경로가 어떻게해도 장고가 이상한 경로로 매번 이동해서 고생했던 에러.

# config / settings.py
TEMPLATES = [{ "DIRS": [BASE_DIR/'templates'], }]

템플릿 경로를 설정하면

이렇게 템플릿 폴더에 html을 모아서 보관할 수 있다. 이렇게 설정을 한 후에, 

static url 설정

# config / settings.py
STATIC_URL = "/static/"  # css, js 파일 위치
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

static 경로를 설정해주면 장고가 헤매지 않고 아주 잘 찾아줌.
static url의 앞 " / "는 서버 구축할 때 url을 어떻게 설정했는 지에 따라 넣어도 달라짐.

 

DB 설정

추가로, django의 기본 db인 sqlite3는 아주 가벼운 데이터로 작업할 때만 유용한 db.
많은 데이터를 작업
할 때는 oracle이나 mysql 등 다른 db를 사용하면 훨씬 db에서 가져오는 속도가 훨씬 빠름.

  • 장고에서 마리아db 사용 불가능
  • mysql은 사용 가능 >> mysqlclient 설치 필요
  • django에 mysql을 연결하고, MariaDB를 통해서 mysql을 연결해서 사용하는 방식으로도 DB 사용 가능

기존에 연결되어 있는 "sqlite3" 부분에

# config / settings.py
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "",
        "USER" : "",
        "PASSWORD" : "",
        "HOST" : "localhost",
        "PORT" : "3306",
    }
}
# 1. 이걸 쓰려면 마리아db를 쓸 수 있도록 설치 pip install mysqlclient 
# 2. anaconda prompt 창 
#       : BASE_DIR >> python manage.py migrate 
#       : 아무것도 없는 db에 테이블 생김

위와 같이 해당 db로 수정하고, migrate 해주면 기존에 sqlite3에서 설정했던 table이 그대로 설정한 db에 생성됨.
가장 좋은 점은 처음부터 db를 선택해서 시작하는 것.

 

728x90
Comments