Post

Django 구성

1. 프로젝트 및 앱 생성

1
2
project 생성 : 
django-admin startproject {project name}  --> 큰 틀  
1
2
app 생성 :
python3 manage.py startapp {app name} --> 작은 틀  
1
tree {file name} 하면 이름에 있는 파일 또는 폴더를 tree 구조로 볼 수 있음. 

2. 프로젝트 폴더에 있는 setting.py

1
2
setting.py - 프로젝트 환경 설정 파일  
내가 추가해주거나 바꿔준 것만 씀.    
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
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True    # DEBUG - 디버그 모드 설정

ALLOWED_HOSTS = ['*'] # ip주소가 들어가야 하지만 *로 모든 ip 허용

# Application definition

INSTALLED_APPS = [ # INSTALLED_APPS - pip로 설치한 앱 또는 본인이 만든 앱 추가
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog.apps.BlogConfig', 
]
# '{app이름}.apps.{app이름(맨 앞이 대문자)}Config 
#  ex) blog 앱-> blog.apps.BlogConfig

DATABASES = { # DATABASES - db 엔진 연결 설정, default : sqlite3
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

LANGUAGE_CODE = 'ko-kr'  # 바꿔주면 좋음

TIME_ZONE = 'Asia/Seoul' # 다른 걸로 되어있어서 고처야 함

3. manage.py 명령어

1
2
startapp - 앱 생성 
ex) python3 manage.py startapp blog
1
2
runserver - 서버 실행  
ex) python3 manage.py runserver 0.0.0.0:8000
1
createsuperuser - 관리자 생성
1
2
makemigrations {app name} - app의 모델 변경 사항 체크 
-> models.py 변경 후 사용
1
2
migrate - 변경 사항을 DB에 반영 
-> makemigrations 하고 사용
1
shell - 쉘을 통해 데이터를 확인 # 써보진 않음 
1
collectstatic - static 파일을 한 곳에 모음 # 써보진 않음

4. 대략적인 흐름

1
1. 프로젝트 생성
1
2
3
2. 앱 생성 후 프로젝트 폴더에 있는 settings.py의 installed app에 작성하여 연결 
   -> {app이름}.apps.{app이름(맨 앞이 대문자)}Config 
   -> allowed_host 값을 '*'로 설정 
1
3. templates 폴더 생성 -> 앱 이름과 동일한 폴더 생성 --> 화면에 보여질 html 파일 작성
1
2
3
4
4. views.py에 동작을 하는 함수 만들기 
   -> views.py에는 request가 들어왔을 때 3에서 만든 html을 불러주는 함수 작성 
   
   ex) def index(request) : return render(request, 'home.html')
1
2
3
4
5. url 설계 -> 해당 url로 접근 시, views.py에 있는 함수를 실행시킴 
   -> 즉, 그 함수가 html 파일을 화면에 보여주는 원리 
   
   --> 앱 폴더에서 urls.py를 작성 --> 그 내용을 프로젝트 폴더에 있는 urls.py에도 작성

참고

Link : ssungkang.tistory.com
Link : velog.io/@rosewwross/More-on-Django#2-url-resolution-urlspy

This post is licensed under CC BY 4.0 by the author.