中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

山東淄博網(wǎng)站建設公司百度推廣客戶端教程

山東淄博網(wǎng)站建設公司,百度推廣客戶端教程,wordpress第三性,網(wǎng)站建設稅點三、Django模板 模板Templates 在Django框架中,模板是可以幫助開發(fā)者快速生成呈現(xiàn)給用戶頁面的工具 模板的設計方式實現(xiàn)了我們MVT中VT的解耦(M:Model,V:View,T:Template),VT有著N:M的關系,一個V可以調(diào)用任意T&#xf…

三、Django模板

模板Templates

在Django框架中,模板是可以幫助開發(fā)者快速生成呈現(xiàn)給用戶頁面的工具

模板的設計方式實現(xiàn)了我們MVT中VT的解耦(M:Model,V:View,T:Template),VT有著N:M的關系,一個V可以調(diào)用任意T,一個T可以供任意V使用

模板處理分為兩個過程

  • 加載HTML
  • 渲染數(shù)據(jù) render()

模板主要有兩個部分

  • HTML靜態(tài)代碼

  • 模板語言,動態(tài)插入的代碼段(挖坑,填坑) {{ name }}

  • 模板中的動態(tài)代碼段除了做基本的靜態(tài)填充,還可以實現(xiàn)一些基本的運算,轉(zhuǎn)換和邏輯

靜態(tài)頁面: 頁面數(shù)據(jù)是本地固定的
動態(tài)頁面: 頁面數(shù)據(jù)來源于后臺服務器

模板中的變量:視圖傳遞給模板的數(shù)據(jù),遵守標識符規(guī)則

? 語法:{{ var }}
? 如果變量不存在,則插入空字符串

方法不能有參數(shù)

? {{ str }}

? {{ str.upper }} # 不能帶括號

? {{ str.isdigit }}

? {{ dict.key }}

列表,使用索引,不允許使用負索引

? items = [‘a(chǎn)pple’ ‘bananas’]

? {{ items.1 }}

  • MVC軟件設計模式: Model(數(shù)據(jù)庫),View(界面),Controller(控制器,相當于Django的視圖函數(shù))
  • MVT : M:Model(數(shù)據(jù)庫),V:View視圖函數(shù),T:Template(界面)

模板中的標簽

? 語法: {{% tag %}}

作用:

  1. 加載外部傳入的變量
  2. 在輸出中創(chuàng)建文本
  3. 控制循環(huán)或邏輯
if 語句:格式: if單分支{% if表達式 %} 語句   {% endif %}if雙分支{% if表達式 %} 語句 {% else %} 語句2  {% endif %}if多分支{% if表達式 %} 語句 {% elif表達式 %} 語句2 {% else %} 語句3 {% endif %}判斷true或者false(可以使用and or not in,語法與python類似){% if tody_is_weekend %}\<p>Welcome to the weekend!!!\</p>{% endif %}使用 in 和 not in{% if user in users %}\<p>User已經(jīng)存在</p>{% endif %}
for 語句{% for 變量 in 列表	%}語句1{% empty %}語句2{% endfor %}當列表為空或者不存在的時候,執(zhí)行empty后的語句===================forloop.counter示例================={% forloop.counter %} 表示當前是第幾次循環(huán),從1開始
{% for item in todo_list %}<p> {{forloop.counter}} : {{ item }}	</p>
{% endfor %}{{ forloop.counter0 }}表示當前是第幾次循環(huán),從0開始{{ forloop.revcounter }}表示當前是第幾次循環(huán),倒著數(shù)數(shù),到1停{{ for1oop.revcounter }}表示當前第幾次循環(huán),倒著數(shù),到0停{{ forloop.first }}是否是第一個 布爾值{% for object in objects %}{% if forloop.first %}<li class="first">{{ object }}</li>{% else %}<li>{{ object }}</li>{% endif %}
{% endfor %}{% for link in links %}{{ link }}{% if not forloop.last %}|{% endif %}
{% endfor %}===================forloop.parentloop示例=================
{% for country in countries %}
<table>{% for city in country.city_list %}<tr><td>Country #{{ forloop.parentloop.counter }}</td><td>City #{{ forloop.counter }}</td><td>{{ city }}</td></tr>{% endfor %}
</table>
{% endfor %}
注釋:單行注釋{# 被注釋掉的內(nèi)容 #}多行注釋{% comment %} 多行內(nèi)容 {% endcomment %}
過濾器:{{ var|過濾器 }}作用: 在變量顯示前修改add:{{ value|add:2 }}沒有減法過濾器,但加法里可以加負數(shù):{{ value|add:-2 }}
lower:{{ name|lower }}
upper:{{ my_list|fisrt|upper }} 將my_list的第一個值變成大寫
截斷:{{ bio|truncatechars:30 }}過濾器可以傳遞參數(shù),參數(shù)需要使用引號引起來,比如join:{{ students|join:'=' }}默認值: default,格式{{ var|default:value }}如果變量沒有被提供或者為False,空,會使用默認值根據(jù)指定格式轉(zhuǎn)換日期為字符串,處理時間的就是針對date進行的轉(zhuǎn)換{{ dateVal | date:'y-m-d'}}
HTML轉(zhuǎn)義:將接收到的數(shù)據(jù)當成普通字符串處理還是當成HTML代碼來渲染的一個問題渲染成html:{{ code|safe }}
關閉自動轉(zhuǎn)義 {% autoescape off %}code{% endautoescape %}
打開自動轉(zhuǎn)義轉(zhuǎn)義{% autoescape on %}code{% endautoescape %}
模板繼承:block:{% block XXX %}code{% endblock %}extends 繼承,寫在開頭位置{% extends'父模板路徑'%}include:加載模板進行渲染{% include'模板文件'%}{{ block.super }}:獲取父模板中block中的內(nèi)容

在Django模板中使用jinja2模板引擎

Jinja2是之前我們在Flask框架講過的一個模板引擎,是模仿Django默認模板引擎基礎上開發(fā)的,比Django模板引擎性能更好,功能更全.

jinja2宣稱比django默認模板引擎快10-20倍。Django也支持jinja2

1.安裝jinja2模塊
pip install jinja2
2.在settings.py所在的目錄中創(chuàng)建jinja2_env.py文件,并寫入以下內(nèi)容
from django.templatetags.static import static
from django.urls import reverse
from jinja2 import Environmentdef environment(**options):env = Environment(**options)env.globals.update({'static': static,'url': reverse,})return env
3.修改項目的settings.py文件

原本的不能刪除

TEMPLATES = [# 使用jinja2模板引擎{'BACKEND': 'django.template.backends.jinja2.Jinja2','DIRS': [],'APP_DIRS': True,'OPTIONS': {# 這里要添加environment變量,指向自定義的jinja2環(huán)境,DjangoPro2項目目錄下的jinja2_env.py文件里面的environment函數(shù)"environment": "DjangoPro2.jinja2_env.environment",'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},# 原來自帶的Django模板引擎{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [],'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',],},},
]
4.在修改Pycharm中settings的模板語言為Jinja2

創(chuàng)建html文件,使用Jinja2語法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Jinja2模板語言</title>
</head>
<body><h2>Jinja2模板語言</h2><hr><p>name = {{ name }}</p>{% for n in name %}<b>{{n}}</b>{% endfor %}<hr>{% for n in name %}<div>{{loop.index}} : {{n}}</div>{% endfor %}{# Jinja2是可以使用帶括號的函數(shù)調(diào)用的 #}{% for i in range(1, 10) %}<div>{{i}}</div>{% endfor %}</body>
</html>

注意: 這只是一個簡單的Jinja2模板語法示例,要使用更多語法,可以查閱以下資料

  • 深入剖析Jinja2語法:高效開發(fā)的關鍵技巧_jinja2 函數(shù)-CSDN博客
  • 歡迎來到 Jinja2 — Jinja2 2.7 documentation
http://www.risenshineclean.com/news/5431.html

相關文章:

  • 河北seo技術東莞百度seo
  • 黃巖做網(wǎng)站的公司搜索引擎優(yōu)化策略有哪些
  • 赤壁網(wǎng)站開發(fā)珠海網(wǎng)站seo
  • 阜陽訊拓網(wǎng)站建設公司廣州優(yōu)化疫情防控措施
  • 網(wǎng)站制作素材公眾號軟文范例100
  • 網(wǎng)站建設事宜seod的中文意思
  • 青海省西寧市住房城鄉(xiāng)建設廳網(wǎng)站河南網(wǎng)絡推廣公司
  • 做計算機版權需要網(wǎng)站源代碼網(wǎng)絡營銷推廣培訓機構
  • 網(wǎng)站開發(fā)結課大作業(yè)網(wǎng)絡營銷課程主要講什么內(nèi)容
  • 做旅游網(wǎng)站怎么融資沈陽seo整站優(yōu)化
  • 怎么做網(wǎng)站上打字體關鍵詞優(yōu)化工具
  • 沈陽公司做網(wǎng)站的域名解析網(wǎng)站
  • 信息門戶網(wǎng)站制作費用合肥關鍵詞排名工具
  • 網(wǎng)站功能優(yōu)化的意義seo綜合查詢工具可以查看哪些數(shù)據(jù)
  • 安全的網(wǎng)站今日新聞最新頭條10條
  • 常州企業(yè)網(wǎng)站建設常見的網(wǎng)絡營銷工具有哪些
  • 3d溜溜網(wǎng)裝修效果圖seo推廣哪家服務好
  • 怎樣做類似淘寶網(wǎng)的網(wǎng)站seo怎么優(yōu)化步驟
  • 寫網(wǎng)站建設的軟文互聯(lián)網(wǎng)營銷師報名費
  • 網(wǎng)站色彩設計同城廣告發(fā)布平臺
  • 北京哪個公司做網(wǎng)站好東莞網(wǎng)絡優(yōu)化公司
  • wordpress制作圖床seow
  • 做網(wǎng)站公司排名多少錢軟文經(jīng)典案例
  • 12306的網(wǎng)站多少錢做的今天的特大新聞有哪些
  • 直播網(wǎng)站怎么做灰色關鍵詞怎么做排名
  • 網(wǎng)頁設計與網(wǎng)站建設專業(yè)網(wǎng)推軟件有哪些
  • 地方網(wǎng)站怎么做推廣什么平臺可以發(fā)廣告引流
  • 做網(wǎng)站設計參考文獻寧德市人社局
  • 房產(chǎn)中介如何做網(wǎng)站小紅書代運營
  • 做網(wǎng)站干什么百度一下網(wǎng)頁版瀏覽器百度