백엔드 개발/Python,django

[Django]Django 공통코드 관리

독학하는 정호빈 2022. 3. 25. 18:57

안녕하세요. 코딩을 독학하고있는 정호빈입니다.

이번에는 공통된 코드들을 관리하는 방법을 알아본건데요. 우리는 html파일을 만들다보면 공통된형식이라던지 css를 불러오는 과정등 공통된코드를 하나하나 코드를 치거나 복사를 해서 붙여넣는 방법을 사용했을겁니다. 하지만 장고에서는 탬플릿 언어를 통해 공통코드를 하나의 파일에 저장하여 해당 파일을 불러와 필요한 부분에 알맞은 코드만을 짤 수 있도록 지원해주고 있습니다. 그럼 바로 알아보도록 하겠습니다.

 

이전내용

https://seongjangjhb.tistory.com/39

 

[Django]Django urls.py 관리 및 static 파일 관리

안녕하세요. 코딩을 독학하고 있는 정호빈입니다. 이번에는 urls에서 경로에 이름을 정의해서 해당 이름을 이용해 다른 페이지로 넘어가는 과정과 넘어간 페이지에 static파일을 이용해 css를 적용

seongjangjhb.tistory.com

 

 

 

우선 공통 코드를 관리할 하나의 파일을 만들어봅시다.

 

 

 

 

 

 

저는 모든코드에 기반이 되는 의미로 base.html로 지었습니다. 그러면 우리가 공통적으로 사용하는 코드는 무엇이 있을까요? html을 한번이라도 작성해보신분들은 바로 떠오르는게있죠

 

 

 

<!DOCTYPE html>
<html>
	<head>
    </head>
    <body>
    </body>
</html>

 

 

 

바로 html의 기본틀 입니다. 저희는 장고를 사용하고있으니 {% load static %}과 같은 정적 파일을 불러와서 css를 적용하는 탬플릿 언어또한 공통코드개 될 수 있겠죠 그러면 공통된 코드를 알아냈으니 해당 코드를 모두 사용할 수 있게 만들어 줍시다.

 

 

 

 

 

 

공통으로 사용할 코드는 가만히 냅두고, 이제 다른 내용을 넣고싶은 부분에 {% block 원하는이름 %}, {% endblock %}을 작성하면 됩니다.공통으로 코드가 사용되어지는지 확인을 위해 기존에 있던 파일에 하나는 적용하고 다른 하나는 적용하지 않겠습니다.

 

 

 

 

 

 

index.html은 extends를 이용하여 base.html을 불러오고 아까 지정했던 부분에 코드를 작성해보고 new.html은 아무것도 하지않고 1줄의 코드만 입력했습니다. 한번 적용이 되는지 살펴보겠습니다.

 

 

 

 

기본 index.html에서는 base.html이 잘 불러와지고 new.html에는 css도 적용되지않고 공통 코드도 불러와지지 않았습니다. 이렇게 우리는 공통된 코드들을 편리하게 관리하는 방법을 알아보았습니다.

 

 

 

공통코드가 엄청 많다면 나중에 페이지가 많으면 많을수록 관리하기 복잡할 것 입니다. 따라서 해당 공통코드 관리는 페이지들을 가볍고 깔끔하게 관리할 수 있도록 도와주게 됩니다. 다음내용은 아마 데이터베이스를 다루어 볼 것 같습니다. 아직 미숙하지만 글을 봐주어서 감사합니다.