장고 입문 가이드: 첫 번째 웹사이트 빠르게 구축하기
장고 입문 가이드: 첫 번째 웹사이트 빠르게 구축하기
장고는 복잡한 웹 애플리케이션과 웹사이트를 구축하는 데 적합한 효율적이고 강력한 Python 웹 개발 프레임워크입니다. 이 프레임워크는 많은 유용한 기능을 통합하여 개발자가 견고한 애플리케이션을 빠르게 구축할 수 있도록 합니다. 당신이 초보자이든 어느 정도 경험이 있는 개발자이든, 장고는 많은 편리함을 제공합니다. 본문에서는 구체적인 단계를 통해 장고를 사용하여 첫 번째 웹사이트를 구축하는 방법을 가르쳐 드리겠습니다.
1. 환경 준비
시작하기 전에 개발 환경에 Python과 pip(파이썬의 패키지 관리 도구)가 설치되어 있는지 확인하세요. 장고는 Python 3.6 이상 버전을 필요로 합니다.
Python 및 pip 설치
Python 공식 웹사이트에서 운영 체제에 맞는 버전을 다운로드하여 설치할 수 있습니다. 설치 후, 명령줄에서 Python과 pip의 버전을 확인하세요:
python --version
pip --version
장고 설치
pip를 통해 장고를 설치하는 것은 매우 간단합니다. 명령줄에 다음 명령을 입력하세요:
pip install django
설치가 완료된 후, 명령줄에서 장고의 버전을 확인할 수 있는지 확인하세요:
django-admin --version
2. 장고 프로젝트 생성
장고를 설치한 후, 새로운 프로젝트를 생성할 수 있습니다. 프로젝트는 장고의 기본 구조로, 애플리케이션과 설정을 포함합니다.
프로젝트 생성
프로젝트를 생성하고자 하는 디렉토리에서 다음 명령을 실행하세요:
django-admin startproject myproject
이 명령은 myproject라는 이름의 새 디렉토리를 생성하며, 기본 파일 및 디렉토리 구조를 포함합니다.
디렉토리 구조
다음과 같은 디렉토리 구조를 보게 될 것입니다:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
manage.py: 장고의 관리 도구로, 프로젝트를 관리하는 데 사용됩니다.settings.py: 프로젝트의 설정 파일로, 여기서 데이터베이스, 정적 파일 등을 설정할 수 있습니다.urls.py: 프로젝트의 URL 라우팅 설정입니다.asgi.py및wsgi.py: 배포 시의 인터페이스 설정입니다.
3. 개발 서버 실행
프로젝트 디렉토리에서 다음 명령을 사용하여 장고의 개발 서버를 시작하세요:
python manage.py runserver
모든 것이 정상이라면, 브라우저에서 http://127.0.0.1:8000/에 접속하여 장고의 환영 페이지를 볼 수 있어야 합니다.
4. 첫 번째 애플리케이션 생성
장고 프로젝트는 여러 개의 애플리케이션으로 구성될 수 있습니다. 각 애플리케이션은 특정 기능 모듈을 담당합니다.
애플리케이션 생성
myproject 디렉토리에서 다음 명령을 실행하여 myapp이라는 이름의 애플리케이션을 생성하세요:
python manage.py startapp myapp
이 명령은 프로젝트 디렉토리 아래에 새로운 myapp 디렉토리를 생성하며, 구조는 다음과 유사합니다:
myapp/
migrations/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
settings.py 수정
settings.py 파일에서 애플리케이션을 등록합니다. INSTALLED_APPS 목록을 찾아 'myapp',을 추가합니다:
INSTALLED_APPS = [
...
'myapp',
]
5. 뷰와 템플릿 생성하기
Django는 MVC 패턴을 채택하고 있으며, 뷰와 템플릿은 서로 보완적입니다.
뷰 생성하기
myapp/views.py 파일에 간단한 뷰를 정의합니다:
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, Django!")
URL 설정하기
myapp 디렉토리 아래에 urls.py라는 파일을 생성하고 URL 라우팅을 설정합니다:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
그런 다음 프로젝트의 urls.py 파일에서 myapp의 URL을 가져옵니다:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
6. 페이지 접근하기
이제 개발 서버를 다시 시작하고 http://127.0.0.1:8000/에 접근할 수 있습니다. "Hello, Django!" 메시지를 볼 수 있어야 합니다.
7. 데이터베이스 지원 추가하기
Django는 기본적으로 SQLite 데이터베이스를 사용하지만 MySQL, PostgreSQL 등 다른 데이터베이스도 지원합니다. 아래는 SQLite를 설정하는 방법입니다.
데이터베이스 설정
settings.py에서 DATABASES 섹션을 찾아 기본 설정은 다음과 같습니다:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / "db.sqlite3",
}
}
필요에 따라 다른 데이터베이스로 수정할 수 있습니다. 예를 들어 PostgreSQL을 사용할 경우:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'yourdbname',
'USER': 'yourusername',
'PASSWORD': 'yourpassword',
'HOST': 'localhost',
'PORT': '5432',
}
}
상응하는 데이터베이스 드라이버를 설치해야 합니다. 예를 들어 PostgreSQL의 경우 psycopg2를 설치해야 합니다.
pip install psycopg2
8. 모델 생성 및 데이터베이스 마이그레이션
다음으로 간단한 모델을 정의하고 이를 데이터베이스로 마이그레이션합니다.
모델 생성하기
myapp/models.py 파일에 다음 코드를 추가하여 간단한 모델을 정의합니다:```python
from django.db import models
class Item(models.Model): name = models.CharField(max_length=100) description = models.TextField()
def __str__(self):
return self.name
### 마이그레이션 생성
다음 명령어를 실행하여 데이터베이스 마이그레이션 파일을 생성합니다:
```bash
python manage.py makemigrations
그런 다음, 이러한 마이그레이션을 적용합니다:
python manage.py migrate
9. 관리자 인터페이스 생성
Django는 데이터를 관리하기 위한 강력한 관리자 인터페이스를 제공합니다.
슈퍼유저 생성
다음 명령어를 통해 관리자 계정을 생성합니다:
python manage.py createsuperuser
관리 인터페이스에 모델 추가
myapp/admin.py에서 모델을 등록합니다:
from django.contrib import admin
from .models import Item
admin.site.register(Item)
이제 개발 서버를 다시 실행하고 http://127.0.0.1:8000/admin에 접속하여 생성한 슈퍼유저로 로그인하면 방금 등록한 모델을 볼 수 있습니다.
결론
Django는 강력한 웹 개발 프레임워크로, 빠르게 웹 애플리케이션을 구축하는 데 도움을 줄 수 있습니다. 이 문서에서 설명하는 방법을 통해 간단한 Django 웹사이트를 쉽게 구축하고 기능을 확장할 수 있습니다. Django에 대한 이해가 깊어짐에 따라 사용자 인증, RESTful API, 테스트 등과 같은 더 많은 고급 기능을 탐색할 수 있습니다. 이 입문 가이드가 첫 발을 내딛고 Django 여정을 시작하는 데 도움이 되기를 바랍니다!




