Python Django

Django를 이용한 프로그래밍 #5

거나미스 2019. 1. 2. 11:35
반응형

Templates(HTML)에서 사용되는 문법 편

  1. 제어를 위한 문법
    • {% %} 의 기호를 사용
    • 기본 문법은 Python을 따름
    • 반복문
      • {% for data in datalist %} 
      •     {{data}}
      • {% endfor %}
    • 비교문
      • {% if %}
      • {% elif %}
      • {% else %}
      • {% endif %}
    • 값 저장
      • {% with var = data %}
      •   {{ var }} is storaged value
      • {% endwith %}
    • URL 하드 코딩을 방지
      • {% url %}
      • 예) {% url 'namespace: view-name' arg1 arg2 %}
      • namespace는 urls.py에서 설정한 이름
      • view-name은 urls.py에서 설정한 URL패턴 이름
    • CSRF 공격 방지
      • {% csrf_token %} 
      • form x태그 윗줄에 삽입
    • 사용자 정의 태그 및 필터 로딩
      • {% load %}
      • 예) {% load lib package.plib %}
  2. 변수를 위한 문법
    • {{ }} 기호를 사용  
    • 사용기호 주의 : AngularJS의 문법과 비슷함
    • {{ 변수명 }} 으로 사용되며, Django에서 내부의 내용을 출력
    • 생성된 변수의 초기값은 빈 문자열 값
    • 변수명에 . (dot)을 사용하면 다음 순서로 확인 과정을 거침
      • 사전(Dic) 타입인지 확인
      • 해당 속성인지 확인
      • 리스트 타입인지 확인
    • 필터
      • 소문자로 변경 {{ str | lower }}
      • 특수 문자 이스케이프 {{ str | escape }}
      • 특정 갯수 문자 리턴 {{ str | truncatewords: 5}} 앞에서 5개 문자를 리턴 (개행문자 제거됨)
      • 리스트 내용 합치기 {{ listdata | join : " - "}}  listdata의 내용을 - 으로 연결 시켜 리턴
      • 변수 값 확인 {{ variable | default : "None"}}
      • 변수 길이 리턴 {{ variable | length }}
      • HTML 태그 제거 {{ str | striptags }}
      • 변수값이 1이 아니면 접미사 붙임  {{ variable | pluralize : "s" }}  // 값에 따라 작업이 필요할경우 사용
      • 합 연산 {{ variable | add:"2" }} // 문자열의 경우 문자열 조합, 리스트는 리스트를 합침, 숫자는 더함
  3. 기타