[Django] 장고의 뼈대

2023. 9. 15. 11:04Django

장고는 파이썬에서 다운로드 받아 쓸 수 있는 웹사이트 제작 툴이다. 다운받아 처음 사용해봤는데, 기본적인 툴들이나 라이브러리들이 잘 갖춰져 있어서 처음부터 하나씩 직접 만들어야 하는 번거로움이 없고, 템플릿을 잘 사용하면 (그리고 익숙해지면) 유용하게 사용이 가능할 것 같다. 

 

팀 프로젝트로 처음 만들어본 사이트의 뼈대이다. 우리는 가고싶은 나라 위시리스트를 작성하고, 인스타그램처럼 메인 페이지에서 게시된 모든 글들을 확인할 수 있게 했다. 사진/가고싶은 나라/가고싶은 도시/가고싶은 이유/ 등을 게시하고, 로그인 하지 않은 사용자들도 메인 뉴스피드를 볼 수 있고, 로그인 한 사람만 자신의 글을 수정할 수 있게 수현했다. 

 

1. GROUPPROJECT: 장고를 저장한 로컬 폴더명이다. 보통 로컬 저장소를 설정하고 git hub에서 clone을 받으면, Repository 이름으로 저장된다.

   1.1 accounts: 계정을 관리하는 폴더이다. users라는 이름으로 저장해서 사용하기도 한다.

   1.2 onestone: 이 프로젝트의 가장 main이 되는 폴더이다. 여기에서 다른 폴더들에게 연결을 시켜준다.

   1.3 post: CRUD (create, read, update, delete 읽고 쓰고 수정하고 지우는 기능) 를 본격적으로 하는 기능들을 모아놓은 폴더이다. 

 

<파이썬 파일들 정리>

__init__.py: 프로젝트를 처음 시작할때 꼭 있어야 하는 파일이라고 한다. 사실 무슨 역할을 하는지는 잘 모르겠음;; 속에도 비어있다.

asgi.py: 아직 뭔지 잘 모르겠음.

settings.py: 프로젝트에 기능을 넣어갈때 꼭 필요한 라이브러리나 패키지들을 이 안에 설정해줘야 한다. 

urls.py: 메인 폴더를 제외한 다른 폴더들과 연결해주는 역할을 한다. 이 파일 안에 다른 폴더의 이름으로 연결해줌.

wsgi.py: 얘도 잘 모르겠음.

admin.py: 브라우저 실행이 되면 admin(관리자) 계정으로 들어갈 수 있는데, 그 경우에 그 관리자가 어떤 일을 할 수 있는지 지정해주는 것 같다.

apps.py: 아직 뭔지 잘 모르겠음.

forms.py: 날짜선택 위젯을 만드려고 찾아보다가 알게 되었다. 이 파일 안에서 위젯 설정을 해준다.

models.py: 가장 많이 쓰는 파일중 하나. class를 설정하고(묶고) 클래스 안의 인자들의 속성을 결정해주는 중요한 곳이다.

tests.py: 사용하지 않았음.

urls.py: post라는 폴더 안에서 굵직한 기능들과 연결해주는 역할을 한다. 여기서 Create, Read, Update, Delete 기능들과 연결한다.

views.py: 가장 많이 쓰는 파일중 하나. 어떤 인자를 어떻게 보여줄지를 결정해주는 곳이다. 

 

<html 파일 정리>

각각 파일이 하나의 화면이라고 생각하면 된다. 여기에서 꾸미기나 배치, 보안설정 등을 할 수 있다.

create.html: 글 작성하는 화면으로 만들었다.

datail.html: 피드에서 게시글을 클릭하면 그 글로 들어가게 해서, 그 글의 더 자세한 내용들을 넣었다.

index.html: 화면에 보여지는 인자들을 무엇으로 연결해서 어떤것을 보여줄 지 설정해주는 파일이다. 

update.html: 글 수정하는 페이지. 어떤것을 수정 가능하게 할 것이냐를 설정할 수 있다.