Python Django 프레임 워 크 소개 템 플 릿 태그 및 템 플 릿 계승
%}과{%로 정 의 됩 니 다.예 를 들 어{%tag%}{%endtag%},전체 탭 은 시작 하면 끝 이 있 습 니 다.예 를 들 어 조건문,조건 부 판단 의 시작 도 조건 부 끝 에 대응 합 니 다.
흔히 볼 수 있 는 태그
조건 판단
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 프레임 워 크 의 템 플 릿 태그 와 템 플 릿 계승 에 관 한 더 많은 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.