Django site 뼈대 만들기

Django site 뼈대 만들기

프로젝트 폴더, 기본적인 파일 템플릿과 프로젝트 관리 스크립트( manage.py )를 만들기 위해서 django-admin 을 사용한다. 애플리케이션을 만들기 위해서 manage.py 를 사용합니다.

프로젝트의 하위 폴더는 웹사이트의 시작점이며 각 파일의 역할은 다음과같다.

__init__.py 는 빈 파일입니다. 이 파일은 파이썬에게 이 디렉토리를 하나의 파이썬 패키지로 다루도록 지시합니다.

는 빈 파일입니다. 이 파일은 파이썬에게 이 디렉토리를 하나의 파이썬 패키지로 다루도록 지시합니다. settings.py 는 웹사이트의 모든 설정을 포함하고 있습니다. 이 파일에는 우리가 만드는 모든 어플리케이션, 정적 파일의 위치, 데이터베이스 세부 설정 등을 등록합니다.

는 웹사이트의 모든 설정을 포함하고 있습니다. 이 파일에는 우리가 만드는 모든 어플리케이션, 정적 파일의 위치, 데이터베이스 세부 설정 등을 등록합니다. urls.py는 사이트의 URL과 뷰의 연결을 지정해줍니다. 여기에는 모든 URL 매핑 코드가 포함될 수 있지만, 특정한 어플리케이션에 매핑의 일부를 할당해주는 것이 일반적입니다 .

- Appication 만들기

> python3 manage.py startapp EXAMPLE

이라고 입력하면 해당 어플리케이션이 만들어진다. 폴더가 생성되고 폴더를 어플리케이션 파일들로 채운다.

뷰는 views.py에, 모델은 models.py에, 테스트는 tests.py에, 관리자 사이트 설정은 admin.py에, 어플리케이션 등록(registration)은 apps.py에 있다. migrations 폴더는 모델을 수정할 때마다 자동으로 데이터베이스를 업데이트하는 것을 가능하게 해줄 마이그레이션 파일들을 저장할 폴더이다. __init__.py는 장고/파이썬이 폴더를 파이썬 패키지로 인식할 빈 파일이다. 또한 프로젝트의 다른 부분에서 객체를 사용할 수 있게 한다.

- Example apllication 등록하기

어플리케이션을 생성하면 프로젝트에 등록해야한다. 도구가 실행될 때 프로젝트에 포함 시켜야하기 때문이다.(모델을 데이터베이스에 추가하는것 처럼) 어플리케이션들은 프로젝트 설정안의 INSTALLED_APPS 리스트에 추가함으로써 등록할 수 있다. settings.py에서 INSTALED_APPS 리스트가 있는데 그 리스트 제일 아래에 추가를 해준다.

-데이터베이스 설정

이제 프로젝트를 사용할 데이터베이스를 지정해야한다. 가능한 한 개바물과 결과물에 동일한 데이터베이스를 사용하여 사소한 동작 차이를 방지해준다. SQLite 데이터베이스는 대표적인 데이터베이스 중 하나다. settings.py의 DATABES 딕셔너리에 추가해준다.

- URL 맵퍼 연결

웹사이트는 프로젝트 폴더 안의 URL 맵퍼파일(urls.py)과 같이 생성된다. urls.py를 통해 모든 URL맵핑을 관리할 수 있다. 하지만 연관된 어플리케이션에 따라 매핑을 다르게 하는것이 일반적이다.

# Function views 일 경우 (함수 view와 연결)

1. Add an import: from my_app import views

2. Add a URL to urlpatterns: path('', views.home, name='home')

# Class-based views 일 경우 (class view와 연결)

1. Add an import: from other_app.views import Home

2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')

#다른 참조할 URL FILE 들을 포함시켜야 하는경우

1. Import the include() function: from django.urls import include, path

2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """

from django.contrib import admin

from django.urls import path

urlpatterns = [ path('admin/', admin.site.urls),

]

URL 맵핑은 urlpatterns 변수를 통해 관리되는데, 이 변수는 path( ) 함수의 파이썬 list 타입이다. 각각의 path( )함수는 패턴이 일치할 때 뷰에 URL 패턴은 연결하거나, 다른 URL 패턴 테스트코드 목록에 연결한다. (이 때는 패턴은 대상 모듈에서 정의된 패턴의 기본 URL이된다.) urlpatterns 리스트는 맨 처음에 관리자 어플리케이션의 고유한 URL 맵핑을 갖고있는 admin.site.urls 모듈에 admin/ 패턴을 가지고 있는 모든 URL을 매핑하는 단일함수를 정의한다.

> path( ) 속의 경로는 일치시킬 URL 패턴을 정의하는 문자열이다. 이 문자열은 명명된 변수를 꺽쇠 괄호 안에 포함한다. 이 패턴은 URL을 일치시키고 뷰에 매개변수는 [ 예시 : ] id이 문자열로 전달한다.

from http://20210916start.tistory.com/163 by ccl(A) rewrite - 2021-11-10 01:01:05