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를 선택해서 시작하는 것.