テスト開発のpythonジャンゴ-5。テンプレートテンプレート

序文

いくつかの動的パラメータを渡すことができない静的なHTML言語は、それがハードコードされたHTMLページです。あなたは、固定されたHTMLスタイルで実現したい場合は、解決するために、Djangoのテンプレートパラメータを渡すために使用することができます異なるパラメータを、渡します。

テンプレートのパラメータ

まずテンプレートHelloアプリケーションの下に新しいフォルダを作成し、以下のディレクトリ階層

└─helloworld
    │  db.sqlite3
    │  manage.py │ __init__.py │ ├─hello │ │ admin.py │ │ apps.py │ │ models.py │ │ tests.py │ │ views.py │ │ __init__.py │ │ │ ├─migrations │ │ │ __init__.py │ │ │ ├─templates │ │ yoyo.html │ │ __init__.py │ └─helloworld │ settings.py │ urls.py │ wsgi.py │ __init__.py

新しいファイルを作成Yoyo.html、ハロー/テンプレート/ yoyo.html文書は次のように、テンプレート変数を読み込み、{{变量名称}}表現するために

<!DOCTYPE html>
<html lang="en"> <head> <meta charset="UTF-8"> <title>上海-悠悠</title> </head> <body> <h1>hello world! {{name}}同学</h1> </body> </html>

TEMPLATES DIRSがである、変更、パス内のsettings.pyスクリプトにテンプレートを追加し[BASE_DIR+"/hello/templates",]
、フロントBASE_DIR値現在のスクリプトのパスとして定義されています。os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+"/hello/templates",],   # 默认为[] 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]

URLを見ます

次のようにハロー/ビューは、ビュー機能を書きます

from django.http import HttpResponse, Http404

# Create your views here.

def yoyo(request): context = {} context['name'] = '悠悠' return render(request, 'yoyo.html', context)

helloworld / urls.pyは、アクセスパスを追加します

from django.conf.urls import url
from django.urls import re_path, path
from hello import views urlpatterns = [ path("yoyo/", views.yoyo), ]

次に、ブラウザのアドレスを入力してください:http://127.0.0.1:8000/yoyo/ あなたが訪問することができます

Djangoのテンプレートタグ

もし/他のタグ

条件付きif文、最後ENDIFの終わり

{% if condition1 %} ... display 1 {% elif condition2 %} ... display 2 {% else %} ... display 3 {% endif %}

ラベルの

文のPythonと状況は同様のループ構文はYでXのためであり、Yは、上ループの配列であり、そしてXは、それぞれ特定のサイクルで使用される変数名です。

各サイクルは、テンプレートは、{%ENDFOR%}との間のすべて{%用%}をレンダリングします。

<ul>
{% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} </ul>

ifequal / ifnotequalラベル

{%Ifequalの%}タグは2つの値を比較し、それらが等しい場合、{%ifequal%}のすべての値を示し、{%endifequal%}です。
次の例では、テンプレート変数のユーザーと2を比較してあるCurrentUser:

{% ifequal user currentuser %} <h1>Welcome!</h1> {% endifequal %}

等{%%であれば}、{%ifequal%}はオプションのタグ{%他%}をサポート

{% ifequal section 'sitenews' %} <h1>Site News</h1> {% else %} <h1>No News Here</h1> {% endifequal %}

コメントタグ

## {}を使用して、Djangoに留意されたいです。

{# 这是一个注释 #}

おすすめ

転載: www.cnblogs.com/mashuqi/p/10972354.html