序文
いくつかの動的パラメータを渡すことができない静的な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に留意されたいです。
{# 这是一个注释 #}