Django 학습 요약의 4가지 템플릿(계속)

4478 단어 django거푸집
1. 템플릿의 역할
템플릿은python 코드와 html을 분리합니다.html 템플릿을 단독으로 디자인할 수 있습니다.
2. 템플릿 인스턴스
4
<html>
<head><title>Ordering notice</title></head>

<body>

<h1>Ordering notice</h1>

<p>Dear {{ person_name }},</p>

<p>Thanks for placing an order from {{ company }}. It's scheduled to
ship on {{ ship_date|date:"F j, Y" }}.</p>

<p>Here are the items you've ordered:</p>

<ul>
{% for item in item_list %}
    <li>{{ item }}</li>
{% endfor %}
</ul>

{% if ordered_warranty %}
    <p>Your warranty information will be included in the packaging.</p>
{% else %}
    <p>You didn't order a warranty, so you're on your own when
    the products inevitably stop working.</p>
{% endif %}

<p>Sincerely,<br />{{ company }}</p>

</body>
</html>
코드 분석:
1. 두 개의 큰 괄호로 묶인 문자(예를 들어 {{{person name}}})를 변수(variable)라고 한다.이것은 지정한 변수의 값을 여기에 삽입한다는 것을 의미합니다.
2. 괄호와 백분율로 둘러싸인 텍스트(예: {% if ordered warranty%})는 템플릿 태그(template tag)입니다.탭(tag)의 정의가 비교적 명확하다. 즉, 템플릿 시스템에 특정한 작업을 완성하는 탭만 알린다.
3. 이 템플릿의 두 번째 단락에는 필터 필터에 대한 예가 있는데 이것은 변수 출력 형식을 가장 간편하게 변환하는 방식이다.이 예에서 {{ship date|date: "F j, Y"} 와 같이 변수shipdate는 date 필터에 전달되며 매개변수 "F j, Y"를 지정합니다.date 필터는 매개 변수에 따라 형식으로 출력합니다.
3. 템플릿을 만드는 기본적인 방법:
1. 원시적인 템플릿 코드 문자열로 Template 대상을 만들 수 있고 Django 역시 템플릿 파일 경로를 지정하는 방식으로 Template 대상을 만들 수 있다.2. 템플릿 대상의render 방법을 호출하고 변수context를 전송합니다.템플릿 기반 디스플레이 문자열을 되돌려줍니다. 템플릿의 변수와 탭은context 값으로 바뀝니다.
인스턴스:
cmd 명령줄로 이전에 만든 프로젝트 mysite를 찾습니다.python 관리자를 사용합니다.py 셸이 시작됩니다.
>>> from django import template
>>> t = template.Template('My name is {{ name }}.')
>>> c = template.Context({'name': 'Adrian'})
>>> print t.render(c)
My name is Adrian.
>>> c = template.Context({'name': 'Fred'})
>>> print t.render(c)
My name is Fred.
해석:
1、왜 python mange를 사용합니까?python 대신 pyshell
이 두 명령은 모두 상호작용 해석기를 시작하지만 관리자입니다.py shell 명령은 해석기를 시작하기 전에 Django가 사용하는 설정 파일을 알려 주는 중요한 차이점이 있습니다.템플릿 시스템을 포함한 Django 프레임워크의 대부분 서브시스템은 구성 파일에 의존합니다.Django가 어떤 프로파일을 사용할지 모르는 경우 시스템이 작동하지 않습니다.
만약 네가 알고 싶다면, 여기에서 너에게 그것의 배후에서 어떻게 일을 하는지 설명할 것이다.땅고 검색. 땅고.SETTINGS_settings에 설정된 MODULE 환경 변수py에 있습니다.예를 들어 mysite가 Python 검색 경로에 있다고 가정하면 DJANGOSETTINGS_MODULE은 다음과 같이 설정되어야 합니다.'mysite.settings’.5 명령을 실행하면:python 관리자.py shell, DJANGO 를 자동으로 처리합니다SETTINGS_MODULE. 현재의 이 예들 중에서, 우리는 당신이 ``python 관리자를 사용하도록 권장합니다.py shell` 이 방법은 당신이 익숙하지 않은 환경 변수를 설정하는 데 많은 노력을 들이지 않도록 할 수 있다.
2. t.render(c)가 반환하는 값은 일반적인 Python 문자열이 아닌 유니코드 객체입니다.
3. 사전 및 Contexts Python의 사전 데이터 유형은 키워드와 해당 값의 매핑입니다.Context는 사전과 유사합니다.변수 이름은 영문자(A-Z 또는 a-z)로 시작해야 하며 숫자, 밑줄 및 소수점을 포함할 수 있습니다.(소수점은 여기서 특별한 용도가 있다. 잠시 후에 우리가 말하겠다) 변수는 대소문자가 민감하다.
4. 템플릿을 작성하고 렌더링하는 실례
>>> from django.template import Template, Context
>>> raw_template = """<p>Dear {{ person_name }},</p>
...
... <p>Thanks for placing an order from {{ company }}. It's scheduled to
... ship on {{ ship_date|date:"F j, Y" }}.</p>
...
... {% if ordered_warranty %}
... <p>Your warranty information will be included in the packaging.</p>
... {% else %}
... <p>You didn't order a warranty, so you're on your own when
... the products inevitably stop working.</p>
... {% endif %}
...
... <p>Sincerely,<br />{{ company }}</p>"""
>>> t = Template(raw_template)
>>> import datetime
>>> c = Context({'person_name': 'John Smith',
...     'company': 'Outdoor Equipment',
...     'ship_date': datetime.date(2009, 4, 2),
...     'ordered_warranty': False})
>>> t.render(c)
u"<p>Dear John Smith,</p>

<p>Thanks for placing an order from Outdoor Equipment. It's scheduled to
ship on April 2, 2009.</p>


<p>You didn't order a warranty, so you're on your own when
the products inevitably stop working.</p>


<p>Sincerely,<br />Outdoor Equipment </p>"

Django 템플릿 시스템의 기본 규칙인 템플릿을 작성하고, Template 객체를 만들고, Context를 만들고, render() 방법을 호출합니다.

좋은 웹페이지 즐겨찾기