본문 바로가기
WEB/Django

Django 파이썬 웹 프로그래밍(2) 앱 만들기

by Guardy 2020. 7. 26.
728x90

Django에서 Database를 사용하여 작업을 하려면 우선 앱(Application)을 생성해주어야 한다.

필자는 커뮤니티 사이트를 만들 예정이므로 Post라는 이름의 앱을 만들도록 하겠다.

(django_project) C:\Users\devgu\community>python manage.py startapp post

만들었으면 community 아래에 post라는 폴더가 생긴다.

폴더 내용은 다음과 같다.

post

하나씩 살펴보자

1. migration

 - python으로 정의한 내용을 DB로 옮겨주는 것이다. 자동으로 sql문을 작성해준다고 생각하면 된다.

따로 건들이 필요 없이 나중에 manage.py를 이용하면 된다.

2. admin

 - admin page를 위한 py이다.

3. apps

 - app에 대한 이름과 같은 정의를 위한 py이다.

4. models

 - 원하는 DB를 python 코드로 작성할 수 있다 

5. tests

 - 삭제 예정

6. views.py

 - 실질적인 기능을 수행하는 py이다. 어떻게 사용하는지는 후에 살펴보도록 하겠다.

 

여기에 우리는 추가적으로 urls.py를 만들어주도록 하겠다.

url과 view와 model을 채우기 전에 django가 어떤식으로 작동하는 지 봐야한다.

 

예를 들어보자. 우리가 로그인을 하려고 한다. 보통 사이트는 api를 호출하여 로그인을 수행한다.

http://www.example.com/login 이라는 url을 GET 또는 POST 방식으로 호출한다.

url.py는 login이라는 것을 인식하여 views.py의 함수에 넘겨준다.

views.py는 함께 넘어온 매개변수를 활용하여 어떻게 활용할지를 정의한다.

models.py는 login을 위해서는 user 모델이 필요할 것인데, 이를 위해서 사용한다.

 

우리는 만든 app을 연결해주어야 한다.

 config -> settings -> base.py에 다음과 같이 추가한다.

그 다음 url을 app url을 가르키게 바꿔준다

config -> urls.py를 수정해준다.

그 다음 post App 속 apps.py를 다음과 같이 수정한다.

from django.apps import AppConfig


class PostConfig(AppConfig):
    name = 'community.post'

이렇게까지 했으면 장고는 https://www.example.com/post/ 와 같은 url이 들어왔을 때 자동으로 post로 향하게 해준다.

post/ 뒤에 urlpattern은 post app에 있는 url을 수정하여 다시 설정할 수 있다. 

이번 글에서는 app을 생성하고 django 프로젝트가 app을 가르키게 만들어줬다.

 

다음 글에서는 post의 model을 작성해보도록 하겠다.

 

728x90