전체 글

전체 글

    django.template.exceptions.TemplateSyntaxError: Unclosed tag on line Looking for one of empty, endfor

    django.template.exceptions.TemplateSyntaxError: Unclosed tag on line Looking for one of empty, endfor

    템플릿 문법 오류라고 한다. 템플릿이니 html 파일의 문법이 뭔가 잘못된 모양이다. Looking for one of: empty, endfor를 살펴 보라는데 정말 유심히 살펴 보다가 띄어쓰기가 잘못 되었음을 알 수 있었다. {% end for %} 같이 end 와 for 사이에 띄어쓰기가 있으면 안된다. {% endfor %} 가 올바르다 {%if ... } 같이 % 와 if가 제대로 띄어쓰기가 되어있지 않으면 오류가 나고 {% if post_list.exists %} 가 올바르다 혹은 오타로 인한 경우가 있다. 제대로 {} 태그를 닫았는지 확인해 볼 필요가 있겠다.

    16. 다대일 관계 구현(16 ~ 18) (작성자 추가)

    16. 다대일 관계 구현(16 ~ 18) (작성자 추가)

    ● 작성자 추가 Blog project의 다대일 관계 이해 먼저 다대일 관계는 여러 개의 모델이 하나의 모델에 연결되는 관계를 말한다. 예시를 들면 다음과 같다. Post를 기준으로 하나의 Post는 하나의 User, 하나의 Category와 관계를 가진다. 이것이 다대일 관계이다. author 필드에는 어떤 내용이 필요한가? Post 작성시 사용자명을 문자열로 저장하는 내용이 필요할 것이고, 사용자 명을 바꾸거나 삭제되었을시 이를 반영하는 내용도 필요할 것이다. 또한 작성자 하나가 여러 Post를 연결하는 경우 다대일 관계에서는 ForeignKey를 활용해야 할 것이다. ForeignKey로 author 필드 구현 models.py에 author 필드 추가 후 migration Django에서 제공하는..

    15. 템플릿 모듈화

    15. 템플릿 모듈화

    웹사이트의 디자인을 일관적으로 유지하거나 수정하고자 할 때 반복적인 요소들을 관리하기 용이하게 하고자 할 때 모듈화를 사용하게 된다. 웹 사이트에서 유지되어야 하는 요소들을 모듈화 해보도록 하겠다. ● 메인 영역 모듈화 post_list.html 모듈화 base.html 추가 blog 폴더에 base.html 파일을 추가하고 main_area의 div 요소들을 삭제한 후 main_area 라는 이름의 block블록을 선언하고 endblock으로 블록의 끝을 설정해 준다. base.html을 확장해 post_list.html 넣기 사이드 바, 푸터 등은 어느 페이지 에서나 쓰일 것이고 base.html에 관련 코드가 있으므로 중복을 방지하기 위해 post_list.html파일에서 main-area를 제외한..

    14. 테스트 주도 개발 적용

    14. 테스트 주도 개발 적용

    테스트 주도 개발 (TDD)는 Test Driven Development의 약자이다. TDD에 대한 자세한 내용은 따로 다룰 예정이다. ● 테스트 주도 개발 준비 테스트 하기에 앞서 blog 폴더의 test.py 파일을 다음과 같이 입력하여 테스트 케이스를 만들어 본다. 2와 3은 같지 않다는 것을 출력하며 테스트에 실패했다고 한다. django.test 패키지의 TestCase 모듈 내에 같은지 다른지 여부를 확인하는 기능이 있는 모양이다. 2, 2로 수정하면 다음과 같이 터미널에 출력된다. ● beautifulsoup4 설치 beautifulsoup4는 HTML에 의해 나타나는 페이지의 요소를 쉽게 다룰수 있게 해주는 도구이다. pip install beautifulsoup4 입력으로 설치한다. ● ..