Django-장고

오늘은 장고를 이용한 웹 애플리케이션 개발에 대해 이야기해보려 합니다.


장고란 무엇인가?

장고(Django)는 파이썬으로 작성된 고급 웹 프레임워크입니다. 웹 개발의 반복적인 부분을 줄여주고, 더 빠르게, 더 효율적으로 작업할 수 있도록 도와줍니다. 장고의 주요 장점 중 하나는 보안 기능이 뛰어나다는 것입니다. SQL 인젝션, 크로스 사이트 스크립팅(XSS), 크로스 사이트 요청 위조(CSRF) 등 다양한 공격으로부터 애플리케이션을 보호할 수 있습니다.

장고 설치하기

먼저, 장고를 설치하는 방법을 살펴보겠습니다. 파이썬이 설치되어 있다는 가정하에, 터미널을 열고 다음 명령어를 입력합니다.

pip install django

이 명령어를 실행하면 최신 버전의 장고가 설치됩니다.

새로운 장고 프로젝트 시작하기

장고를 설치했다면, 이제 새로운 프로젝트를 시작해보겠습니다. 터미널에서 다음 명령어를 입력합니다.

django-admin startproject myproject

이 명령어는 myproject라는 이름의 새로운 장고 프로젝트를 생성합니다. 디렉토리 구조는 다음과 같습니다.

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py

첫 번째 앱 만들기

장고에서는 프로젝트와 앱의 개념이 있습니다. 프로젝트는 전체 웹 사이트를 의미하고, 앱은 특정 기능을 수행하는 모듈입니다. 이제 첫 번째 앱을 만들어보겠습니다.

python manage.py startapp myapp

이 명령어를 실행하면 myapp이라는 새로운 디렉토리가 생성됩니다. 디렉토리 구조는 다음과 같습니다.

myapp/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py

모델 정의하기

이제 myapp/models.py 파일에서 첫 번째 모델을 정의해보겠습니다. 예를 들어, 블로그 게시물을 저장하는 모델을 만들어보겠습니다.

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

데이터베이스에 모델 적용하기

모델을 정의했다면, 데이터베이스에 적용해야 합니다. 이를 위해 마이그레이션(migration)을 생성하고 적용합니다.

python manage.py makemigrations
python manage.py migrate

관리자 인터페이스 설정하기

장고의 강력한 기능 중 하나는 자동으로 생성되는 관리자 인터페이스입니다. myapp/admin.py 파일을 열고 다음 코드를 추가합니다.

from django.contrib import admin
from .models import Post

admin.site.register(Post)

이제 관리자 계정을 생성하고 관리자 페이지에 접속해봅니다.

python manage.py createsuperuser

명령어를 실행하고 필요한 정보를 입력한 후, 서버를 시작합니다.

python manage.py runserver

웹 브라우저에서 http://127.0.0.1:8000/admin/에 접속하여 관리자 페이지에 로그인합니다. 이제 Post 모델을 추가하고 관리할 수 있습니다.


오늘은 장고의 기본적인 설치와 설정, 그리고 첫 번째 앱과 모델을 만드는 방법에 대해 알아보았습니다. 실습을 통해 장고의 강력한 기능들을 경험해 보시길 바랍니다. 다음 시간에는 장고 템플릿과 폼에 대해 알아보겠습니다. 모두들 수고하셨습니다!