개인적인 Django 프로젝트를 고민하다가 ‘인스타그램 클론 코딩’과 ‘메모장 앱’을 만들기로 결정했다. 비교적 간단하다고 생각한 ‘메모장 앱’의 기능들을 나열하고 보니, 생각보다 복잡해질 것 같아 걱정이다.
Django 프로젝트 및 앱 생성
AWS Ubuntu 환경에서 작업할 예정이며, 이와 관련된 내용은 [aws]Django 서버 세팅1, [aws]Django 서버 세팅2 에서 확인할 수 있다.
1) Django 프로젝트 생성
[aws]Django 서버 세팅2 에서 이미 pyenv, virtualenv 설치 및 Django 프로젝트를 생성했으므로 중요한 부분만 다시 정리한다.
# 프로젝트 이름의 폴더 생성 및 이동
$mkdir {프로젝트명}
$cd {프로젝트명}
# 현재 폴더를 가상화하여 독립된 공간으로 만든다.
$pyenv local practice-venv
# 가상환경 안에 django 설치
# 여기서 중요한 점은 pyenv virtualenv로 독립된 가상환경을 만들었으므로 해당 폴더 안에서만 django가 설치된다.
$pip install django
# pip 설치 패키지 목록에 django 설치 확인
$pip list
Package Version
---------- -------
Django 2.2
pip 19.0.3
pytz 2019.1
setuptools 39.0.1
sqlparse 0.3.0
# 프로젝트 생성
# 현재 위치(.)에 여러 파일(프로젝트)이 자동으로 생성된 것을 확인할 수 있다.
$django-admin startproject {프로젝트명} .
settings.py 기본 설정
프로젝트를 생성하고 나면 프로젝트 폴더 아래에 Django의 setting.py가 생성된다.
# Public DNS가 'https://{}.compute.amazonaws.com'라면 https://는 제거
ALLOWED_HOSTS = ['{}.compute.amazonaws.com']
# 현재 시간 설정
TIME_ZONE = 'Asia/Seoul'
# 언어 설정
LANGUAGE_CODE = 'ko-kr'
2) Django 앱 생성
$python manage.py startapp {앱이름}
성공적으로 앱이 생성되었다면 앱이름의 폴더가 생성됨을 확인할 수 있다.
settings.py 앱 설정 추가
Django 패키지를 설치하거나 앱을 생성하고 나면 설정 파일에 명시해줘야 한다.
INSTALLED_APPS = [
...,
'{앱이름}',
]
여기까지는 nano에디터로 코드를 수정하는데 문제가 없었지만 앞으로 복잡한 기능을 구현하기에 nano에디터는 적합하지 않다. vscode 혹은 pycharm에디터에서 제공하는 ftp기능을 사용하자.