Framework/Django

장고 입문

JM Lee 2023. 4. 3. 18:02
728x90

장고란?

파이썬 웹 프레임워크 중 하나로, 파이썬 사용자들이 보다 간편하게 파이썬을 이용할 수 있도록 도와주는 프레임워크

 

어떻게 도움이 되는가?

 - 데이터베이스, 로그인 및 암호화 등의 보안 장치가 마련되어 있다.

 - 커뮤니티와 문서화가 잘 되어있다.

 - 기타 많은 기능이 잘 구현되어 있다.

 

결국 우리가 장고를 배워두면 파이썬 작업을 보다 능률적으로 수행할 수 있다는 것으로 이어진다.

 

장고의 구성은?

장고 프레임워크를 구성할 경우, 다음과 같은 기본 형태로 구성된다.

User와 DB, Template밖에 모르고 있었는데 갑자기 새로운 것이 많이 쏟아졌기 때문에 이해할 필요가 있었다.

- Model(ORM) : 데이터베이스의 모델, 저장 사용되는 데이터의 형태

 * ORM : Python으로 데이터베이스 클래스 모델을 만들고, 만든 모델을 바탕으로 자동으로 데이터베이스를 다룰 수 있도록 도와주는 역할. 이 역할을 수행할 시 쿼리를 작성하지 않아도 됨.

- View : 실질적으로 프로그램이 동작하는 부분, url 요청, 응답 사이에 일어나는 서비스가 발생하는 곳

- Template : 사용자에게 보여지는 부분

 

이것을 줄여서 MVT 과정이라고 하는데,

View가 JS의 역할을, Template 가 HTML과 CSS의 역할을 맡는 것으로 이해하고 있다.

 

이제 대충 무슨 말인진 알았으니 실행을 해 보았는데,

장고를 적용한 채 파이참을 실행해보니 다음과 같이 이미 파일들이 설치되어 있다! 편리하잖아?

 

*알아두면 좋은 것

setting.py : 장고 프로젝트 전체의 환경설정 담당

urls.py : url들을 담당


 

돌발 에러 상황

다음으로 장고 파일을 실행해보려고 했는데 다음과 같은 에러가 생겼다.

인코딩 문제라는 것 같지만

인코딩에 대해 전혀 모르는 나로선 솔직히 뭔 말인지 전혀 모르겠어서 오류 코드 그대로 구글링해서 찾아보았다.

 

파이참에서 file - settings - editors - file encodings에 들어가면 다음과 같은 창이 나온다.

글로벌 인코딩과 프로젝트 인코딩이 다음과 같이 되어야 한다.

그럼에도 안 될 수 있다. 그럴 땐

editors로 다시 가서 general - console로 가면

다음 창이 나온다.

이 때 여기서 디폴트 인코딩을 UTF-8로 수정해야 한다. 그러면 

문제 해결이다.


장고 실행

와! 드디어 하나를 만들었다! 이건 기본 화면이기 때문에 이제 나만의 화면을 만들어보자

 

- 일단 파이썬 파일들이 담겨있는 프로젝트 파일에 새로운 파일을 하나 만든다.

- 새로운 파일에 내가 담고 싶은 내용을 넣는다.

- 그 파일이 url 링크에 적용되게끔 urls.py에 적용 코드를 넣는다.

이 과정에서 url와 파이썬, templates 간의 연결이 매우 중요한데

위 사진처럼 import가 제대로 이루어져야 파일이 연결될 수 있다.

 

아까 적어둔 것이 있다.

*알아두면 좋은 것

setting.py : 장고 프로젝트 전체의 환경설정 담당

urls.py : url들을 담당

다시금 기억한 다음 templates와 py 파일을 만들어야 한다.

 

음..솔직히 아직 완전히 이해하진 못했지만

urlpattern이란 것이 있고 여기에 외부의 url를 가져온다는 것으로 해석하면 될 것 같다.

 

새로운 것을 익히느라 정말 힘든 시간이었지만 나름 이해 잘 해서 좋았다.

2주차로 넘어가서 공부해봐야지