본문 바로가기

CS

Hackathon | Python + Django + Sqlite 메모장

내게 Django는 미지의 영역이었어서 항상 궁금하던 중 이번 해커톤 미니 프젝으로 선정하게 되었다

Django는 다양한 형태의 Database를 지원하며 Sqlite를 디폴트로 사용할 수 있다

 

 

 

  • memo 프로젝트 생성

django-admin startproject pjt_memo

 

메모 프로젝트가 있는 디렉토리 내부로 이동하면 동일한 이름의 pjt_memo 디렉토리와 manage.py 파일이 생성되어 있고 내부의 pjt_memo 디렉토리에는 4개의 .py 파일이 생성되어 있다

 

 

 

  • 테이블 생성

python manage.py migrate

 

DB에 변경사항 발생했을 때 반영시키는 명령어

관리자 등 기본 사용자를 DB에 입력하기 위해 먼저 생성해 준다

 

 

 

  • 관리자 생성

python manage.py createsuperuser

 

사용자 명, 이메일 주소, 비밀번호 순으로 입력

네자리 숫자로 비밀번호를 구성해서 주의 문구가 나왔는데 테스트 프젝이라 그냥 넘겼다

 

 

 

sqlitebrowser.org/dl/

 

Downloads - DB Browser for SQLite

(Please consider sponsoring us on Patreon 😄) Windows Our latest release (3.12.1) for Windows: Windows PortableApp There is a PortableApp available, but it’s still the previous (3.12.0) release version. It should be updated to 3.12.1 over the next few

sqlitebrowser.org

위에서 생성한 db.sqllite3 파일을 열어보기 위해 sqllite 뷰어를 다운로드해줬다

 

 

 

여러 개의 테이블들과 관리자 데이터가 생성되어 있다

 

 

 

  • 앱 생성

python manage.py startapp memo

 

메모 프로젝트에서 사용할 실제 앱 생성

 

 

 

 

memo라는 앱 디렉토리와 함께 디렉토리 내부에 메모앱 위한 기본 파일들이 생성되어 있다

 

 

 

  • 앱 등록

사용할 앱들은 모두 프로젝트의 설정 파일에 등록되어야 한다

프로젝트 설정 파일인 settings.py에 생성한 memo 앱 등록해주기

설정 파일 상단에 있는 INSTALLED_APPS에 설정 클래스 등록

 

 

 

  • 테이블 생성

Django는 하나의 클래스를 테이블로 정의하게 되고 각각의 멤버변수를 테이블의 컬럼으로 사용할 수 있다

메모 테이블에는 기본적으로 메모 내용을 문자열로 입력할 수 있는 content 컬럼과 수정일자인 last_modified 두 개의 컬럼 정의해주었다

 

 

 

admin.py에 등록해주면 django admin 페이지 에서도 테이블 확인할 수 있다

 

 

 

  • 변경사항 반영

python manage.py makemigrations

 

python manage.py migrate

 

 

 

  • 관리자 화면 확인

python manage.py runserver

 

서버 실행 후 접속하기

http://127.0.0.1:8000/admin

 

 

 

관리자 로그인 화면에서 앞에서 설정한 사용자 이름과 비밀번호로 로그인한다

 

 

 

memo 이름을 클릭해 상세페이지로 이동한 후 내용 추가할 수 있다

메모 입력 시간 자동으로 저장하는 방법을 몰라서 일단 직접 작성하게 해뒀다

 

 

 

  • URL 설정

프로젝트의 url 매핑 위해 프로젝트의 urls.py와 각 앱단의 urls.py 두 개 모두 수정해주기

프로젝트 디렉토리의 urls.py에 memo 관련 url 추가

 

 

 

앱폴더 아래에 urls.py 추가

memo라는 url로 들어온 요청을 MemoList 뷰로, memo/아이디 url로 들어온 요청을 MemoList 뷰로 매핑

url 패턴 이름을 index와 detail로 각각 지정

 

 

 

  • 뷰 작성

url에서 지정한 뷰 클래스 생성하기

앱 디렉토리의 views.py 열어 수정해준다

 

근데 더이상 외않되,,,,?

다음 시간에 계속 하께뚬 !!....

 

 

'CS' 카테고리의 다른 글

Linux ls 명령, 옵션  (0) 2021.09.15
정보통신특론  (0) 2021.06.08
풀스택 Flutter + Django Quiz App  (0) 2021.06.02
Hackathon | 개발환경 설정 Django  (0) 2021.05.04
정보통신특론  (0) 2021.04.16

Tiny Star