티스토리 뷰

한동안 리액트로 프론트엔드를 만들어 보겠다고 리액트를 배우다가, 사람들이 사용할 수 있는 프로토타입 먼저 만드는 게 우선이라는 생각이 들었다.

방학이 얼마 안 남기도 했고, 지금 리액트를 배우고 장고를 배워 리액트 프론트엔드 + 장고 백엔드 구성을 하는 것(최초 계획)은 너무 장대한 계획인 것 같다.

그래서 장고걸스 튜토리얼과 집에 있던 Django로 배우는 쉽고 빠른 웹 개발 파이썬 프로그래밍 책을 보고 프로젝트를 만들었다.

장고걸스 실습에선 코드 편집기를 사용했는데, 좀 더 편리하게 PyCharm에서 만들어 보자!

 

 

1. 장고 설치

PyCharm 터미널에서 pip install Django

(venv) C:\lolupdatesDjango>pip install Django
Collecting Django
  Using cached https://files.pythonhosted.org/packages/12/68/8c125da33aaf0942add5095a7a2a8e064b3812d598e9fb5aca9957872d71/Django-3.0.4-py3-none-any.whl
Collecting pytz (from Django)
  Using cached https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl
Collecting sqlparse>=0.2.2 (from Django)
  Using cached https://files.pythonhosted.org/packages/85/ee/6e821932f413a5c4b76be9c5936e313e4fc626b33f16e027866e1d60f588/sqlparse-0.3.1-py2.py3-none-any.whl
Collecting asgiref~=3.2 (from Django)
  Using cached https://files.pythonhosted.org/packages/a5/cb/5a235b605a9753ebcb2730c75e610fb51c8cab3f01230080a8229fa36adb/asgiref-3.2.3-py2.py3-none-any.whl
Installing collected packages: pytz, sqlparse, asgiref, Django
Successfully installed Django-3.0.4 asgiref-3.2.3 pytz-2019.3 sqlparse-0.3.1

 

2. 프로젝트 생성

  • 프로젝트: 개발 대상 전체 프로그램, 애플리케이션의 모임
  • 애플리케이션: 프로젝트를 몇 개의 기능 그룹으로 나누었을 때 나누어진 서브 프로그램

터미널에서

(venv) C:\..\lolupdatesDjango>django-admin.py startproject lolupdatesgg

루트 디렉토리에 프로젝트 이름인 lolupdatesgg란 폴더가 생성된다.

해당 폴더 안에는 또 lolupdatesgg 폴더가 있는데, 상위 디렉토리는 프로젝트 관련 디렉토리/파일을 모으는 역할만 하기 때문에 이름을 변경해도 된다. ch3로 바꿔주자.

(venv) C:\lolupdatesDjango>ren lolupdatesgg ch3

 

3. 애플리케이션 생성

프로젝트 디렉토리(ch3)로 이동해 애플리케이션을 만든다.

(venv) C:\lolupdatesDjango>cd ch3
(venv) C:\lolupdatesDjango\ch3>python manage.py startapp mainApp

 

4. 데이터베이스 변경사항 반영

데이터베이스는 아직 없지만 사용자, 사용자 그룹 테이블 만들기 위해 실행

(venv) C:\lolupdatesDjango\ch3>python manage.py migrate
Operations to perform: 
  Apply all migrations: admin, auth, contenttypes, sessions 
Running migrations: 
  Applying contenttypes.0001_initial... OK 
  Applying auth.0001_initial... OK 
  Applying admin.0001_initial... OK 
  Applying admin.0002_logentry_remove_auto_add... OK 
  Applying admin.0003_logentry_add_action_flag_choices... OK 
  Applying contenttypes.0002_remove_content_type_name... OK 
  Applying auth.0002_alter_permission_name_max_length... OK 
  Applying auth.0003_alter_user_email_max_length... OK 
  Applying auth.0004_alter_user_username_opts... OK 
  Applying auth.0005_alter_user_last_login_null... OK 
  Applying auth.0006_require_contenttypes_0002... OK 
  Applying auth.0007_alter_validators_add_error_messages... OK 
  Applying auth.0008_alter_user_username_max_length... OK 
  Applying auth.0009_alter_user_last_name_max_length... OK 
  Applying auth.0010_alter_group_name_max_length... OK 
  Applying auth.0011_update_proxy_permissions... OK 
  Applying sessions.0001_initial... OK 

db.sqlite3 파일이 생성된다.

현재까지의 프로젝트 구조

프로젝트 구조

 

5. 서버 실행

(venv) C:\lolupdatesDjango\ch3>python manage.py runserver 127.0.0.1:8000
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
March 10, 2020 - 12:00:09
Django version 3.0.4, using settings 'lolupdatesgg.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

주소와 포트번호를 지정하지 않아도 됨. 지정하지 않을시 기본값은 127.0.0.1 주소, 8000번 포트

주소를 Ctrl+클릭해서 접속 가능

접속 모습

 

6. 관리자 계정 만들기, admin 사이트 사용

+를 눌러 새로운 터미널 실행 (기존 터미널은 서버 실행중)

프로젝트 폴더 ch3로 이동해 manage.py로 슈퍼유저 만들기

(venv) C:\lolupdatesDjango>cd ch3
(venv) C:\lolupdatesDjango\ch3>python manage.py createsuperuser
Username (leave blank to use 'study_and_dev'): suno
Email address: suno.vivid@gmail.com
Password:
Password (again):
Superuser created successfully.

아까 열었던 주소 뒤에 /admin을 붙여주면 admin 사이트에 접속할 수 있다. (http://127.0.0.1:8000/admin/)

좀전에 만든 계정으로 로그인하면 users, groups, 그리고 나중에 만들 테이블들을 관리할 수 있다.

 

 

PyCharm에서 Django 프로젝트 기본 뼈대 만들기 끝

다음에는 디렉토리 모습을 그때그때 캡쳐해서 첨부해야겠다. 이번에는 마지막 뼈대 완성하고 나서의 구조밖에 없어 아쉽다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함