Python Django 프레임 워 크 소개 템 플 릿 태그 및 템 플 릿 계승

태그 문법
%}과{%로 정 의 됩 니 다.예 를 들 어{%tag%}{%endtag%},전체 탭 은 시작 하면 끝 이 있 습 니 다.예 를 들 어 조건문,조건 부 판단 의 시작 도 조건 부 끝 에 대응 합 니 다.
흔히 볼 수 있 는 태그
조건 판단
  • if/elif/else:and/or/in/not/=/!=/<=/>=,판단 하 겠 습 니 다.ifequal/ifnotequal
  • for 순환
  • for...in...:python 의 용법 과 같 습 니 다.
  • forloop.counter:현재 교체 횟수,아래 표 시 는 1 부터 시작 합 니 다.1,2,3....
  • forloop.counter 0:현재 교체 횟수,아래 표 시 는 0 부터 시작 합 니 다.아래 표 시 를 지정 합 니 다.위 에 지정 되 지 않 은 기본 값 은 1 부터
  • 입 니 다.
  • forloop.revcounter:forloop.counter 와 마찬가지 로 아래 표 시 는 거꾸로 되 어 있 고 큰 것 부터 작은 것 까지 다 릅 니 다.
  • forloop.revcounter 0:forloop.counter 0 과 마찬가지 로 아래 표 시 는 거꾸로 되 어 있 고 큰 것 부터 작은 것 까지 다르다.
  • forloop.frist:불 값 을 되 돌려 줍 니 다.첫 번 째 교체 라면 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.
  • forloop.last:불 값 을 되 돌려 줍 니 다.마지막 교체 라면 true 로 돌아 갑 니 다.그렇지 않 으 면 false
  • 으로 돌아 갑 니 다.
  • forloop.parentloop:다 중 for 순환 플러그 인 이 발생 하면 이 변 수 는 이전 for 로 되 돌아 갑 니 다.
  • for...in...empty...:데이터 가 없 으 면 empty 로 이동 합 니 다.
  • 기타 중요 태그
    load:제3자 탭 을 불 러 옵 니 다.흔히 사용 하 는 것 은{%load static%}
    url:이름 이 붙 은 URL 의 절대 경 로 를 되 돌려 줍 니 다.
    with:변 수 를 캐 시 합 니 다.
    autoescape:자동 전 의 를 켜 고 닫 습 니 다.
    3.태그 예
    조건 부 태그 코드 예
    
    #  views.py  
    def testif(request):
        complex = {
            'name':'python',
        }
        return render(request,'  -if.html',complex)
     
    #  urls.py  
    urlpatterns = [path('testif/', views.testif),]
    
    
    <!--if      -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>if  </title>
        <style>span{font-size: 40px;color: #d70b35;}</style>
    </head>
    <body>
        {% if name == "python" %}
              <span>{{name}}</span>  
        {% elif name == "django" %}
              <span>{{name}}</span>  
        {% else %}
               <span>{{name}}</span> ?
        {% endif %}
    </body>
    </html>
    
      
    for 순환 태그 코드 예
    
    #  views.py  
    def testfor(request):
        ls = ['1','2','3','4','5']
        complex ={
            'ls':ls,
        }
        return render(request,'  -for.html',complex)
     
    #  urls.py  
    urlpatterns = [path('testfor/', views.testfor),]
    
    
    <!--for      -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>for  </title>
        <style>a{font-size: 25px;}</style>
    </head>
    <body>
    {% for i in ls %}
        {% if forloop.counter == 3 %}
            <a href="https://www.baidu.com" rel="external nofollow" >  </a><br>
        {% else %}
            <a href="https://blog.csdn.net/" rel="external nofollow" >CSDN</a><br>
        {% endif %}
    {% endfor %}
    </body>
    </html>
    
      
    url 페이지 변환 탭 예
    주의:친 측...url 페이지 를 사용 하여 탭 을 변환 할 때 템 플 릿 의 참조 템 플 릿 링크 이름 은 url patterns 의 path name 값 이 어야 합 니 다.인터페이스 이름 을 직접 사용 하면 오류 가 발생 할 수 있 습 니 다.
    오류 데모


    정확하게 시범 을 보이다.


    코드
    
    ##  views.py  
    def testurl(request):
        return render(request,'URL    .html')
     
    ##  urls.py   
    urlpatterns = [path('testurl/', views.testurl),]
    
    <!--  url        -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>URL    </title>
        <style>
            a{font-size: 25px;color: #10e59d
            }
        </style>
    </head>
    <body>
        <a href="/index/" rel="external nofollow" >index  </a><br>
        <a href="{% url 'temp' %}" rel="external nofollow" >  ur  temp  </a><br>
        <a href="{% url 'test' 999 %}" rel="external nofollow" >  url          </a>
    </body>
    </html>
    
    4.템 플 릿 의 계승
    Django 모델 엔진 중 가장 강력 하고 복잡 한 부분 은 모델 계승 입 니 다.템 플 릿 을 사용 하 는 역할 은 코드 의 재 활용 성 을 향상 시 키 는 데 있다.모드 계승 은 사이트 의 모든 요 소 를 포함 하고 이불 모드 로 덮어 쓸 수 있 는 Blocks 를 정의 할 수 있 는 기본 적 인'골조'모드 를 만 들 수 있 습 니 다.
    템 플 릿 계승 은 extends 탭 을 사용 하여 이 루어 집 니 다.블록 을 사용 하여 하위 템 플 릿 에 인 터 페 이 스 를 엽 니 다.
    1.extends 는 템 플 릿 의 첫 번 째 탭 이 어야 합 니 다.
    2.하위 템 플 릿 의 모든 내용 은 부모 템 플 릿 이 정의 한 block 에 나타 나 야 합 니 다.그렇지 않 으 면 django 가 렌 더 링 하지 않 습 니 다.
    3.중복 코드 가 나타 나 면 템 플 릿 사용 을 고려 해 야 합 니 다.
    4.가능 한 한 많은 블록 을 정의 하여 서브 템 플 릿 이 더욱 가 는 수 요 를 실현 하도록 합 니 다.
    5.특정한 block 에서 부모 템 플 릿 의 내용 을 사용 하려 면 block.super 를 사용 하여 가 져 옵 니 다.
    코드 예
    
    <!--        -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>   </title>
        <style>
            .p2{
                font-size: 25px;
                color: blue;
            }
        </style>
    </head>
    <body>
        <h style="font-size:40px;color:red;">        </h>
    </body>
    </html>
    
    
    <!--          -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>{%  block title %}    {% endblock %}</title>
        <style>
            .p1{font-size: 30px;color: #8dff50
        }
            span{
                font-size: 25px;
                color: darkkhaki;
            }
        </style>
    </head>
    <body>
    {% block content %}
        <span>      </span>
    {% endblock %}
    {% block demo %}
        <span>      </span>
    {% endblock %}
    </body>
    </html>
    
    
    <!--           -->
    {% extends '  /   .html' %}
    {% block title %}  (     ){%  endblock  %}
    {% block content %}
        <p class="p1">         :{{ block.super }}</p><br>
        <p class="p1">        ,   block     </p><br>
    {% endblock %}
    {% block demo %}
        <p class="p2">    include          :{% include '  /   .html' %}</p>
    {% endblock %}
    
    결 과 를 시연 하 다.

    css 스타일 을 설정 하면 홈 페이지 계승 과 계승 템 플 릿 파일 인용 및 템 플 릿 파일 인용 css 스타일 을 볼 수 있 습 니 다.
    Python Django 프레임 워 크 에 소 개 된 템 플 릿 태그 와 템 플 릿 계승 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.Django 프레임 워 크 의 템 플 릿 태그 와 템 플 릿 계승 에 관 한 더 많은 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기