日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Flask mysql 模版传参_Flask渲染Jinja2模板和传参

發布時間:2023/12/1 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flask mysql 模版传参_Flask渲染Jinja2模板和传参 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

### Flask渲染Jinja2模板和傳參:

1. 如何渲染模板:

* 模板放在`templates`文件夾下

* 從`flask`中導入`render_template`函數。

* 在視圖函數中,使用`render_template`函數,渲染模板。注意:只需要填寫模板的名字,不需要填寫`templates`這個文件夾的路徑。

2. 模板傳參:

* 如果只有一個或者少量參數,直接在`render_template`函數中添加關鍵字參數就可以了。

* 如果有多個參數的時候,那么可以先把所有的參數放在字典中,然后在`render_template`中,

使用兩個星號,把字典轉換成關鍵參數傳遞進去,這樣的代碼更方便管理和使用。

3. 在模板中,如果要使用一個變量,語法是:`{{params}}`

4. 訪問模型中的屬性或者是字典,可以通過`{{params.property}}`的形式,或者是使用`{{params['age']}}`.

### 過濾器:

1. 介紹和語法:

* 介紹:過濾器可以處理變量,把原始的變量經過處理后再展示出來。作用的對象是變量。

* 語法:

```

{{ avatar|default('xxx') }}

```

2. default過濾器:如果當前變量不存在,這時候可以指定默認值。

3. length過濾器:求列表或者字符串或者字典或者元組的長度。

4. 常用的過濾器:

abs(value):返回一個數值的絕對值。示例:-1|abs

default(value,default_value,boolean=false):如果當前變量沒有值,則會使用參數中的值來代替。示例:name|default('xiaotuo')——如果name不存在,則會使用xiaotuo來替代。boolean=False默認是在只有這個變量為undefined的時候才會使用default中的值,如果想使用python的形式判斷是否為false,則可以傳遞boolean=true。也可以使用or來替換。

escape(value)或e:轉義字符,會將等符號轉義成HTML中的符號。示例:content|escape或content|e。

first(value):返回一個序列的第一個元素。示例:names|first

format(value,*arags,**kwargs):格式化字符串。比如:

{{ "%s" - "%s"|format('Hello?',"Foo!") }}

將輸出:Helloo? - Foo!

last(value):返回一個序列的最后一個元素。示例:names|last。

length(value):返回一個序列或者字典的長度。示例:names|length。

join(value,d=u''):將一個序列用d這個參數的值拼接成字符串。

safe(value):如果開啟了全局轉義,那么safe過濾器會將變量關掉轉義。示例:content_html|safe。

int(value):將值轉換為int類型。

float(value):將值轉換為float類型。

lower(value):將字符串轉換為小寫。

upper(value):將字符串轉換為小寫。

replace(value,old,new): 替換將old替換為new的字符串。

truncate(value,length=255,killwords=False):截取length長度的字符串。

striptags(value):刪除字符串中所有的HTML標簽,如果出現多個空格,將替換成一個空格。

trim:截取字符串前面和后面的空白字符。

string(value):將變量轉換成字符串。

wordcount(s):計算一個長字符串中單詞的個數。

### if判斷:

1. 語法:

```

{% if xxx %}

{% else %}

{% endif %}

```

2. if的使用,可以和python中相差無幾。

### for循環遍歷列表和字典:

1. 字典的遍歷,語法和`python`一樣,可以使用`items()`、`keys()`、`values()`、`iteritems()`、`iterkeys()`、`itervalues()`

```

{% for k,v in user.items() %}

{{ k }}:{{ v }}

{% endfor %}

```

2. 列表的遍歷:語法和`python`一樣。

```

{% for website in websites %}

{{ website }}

{% endfor %}

```

### 繼承和block:

1. 繼承作用和語法:

* 作用:可以把一些公共的代碼放在父模板中,避免每個模板寫同樣的代碼。

* 語法:

```

{% extends 'base.html' %}

```

2. block實現:

* 作用:可以讓子模板實現一些自己的需求。父模板需要提前定義好。

* 注意點:字模板中的代碼,必須放在block塊中。

### url鏈接:使用`url_for(視圖函數名稱)`可以反轉成url。

### 加載靜態文件:

1. 語法:`url_for('static',filename='路徑')`

2. 靜態文件,flask會從`static`文件夾中開始尋找,所以不需要再寫`static`這個路徑了。

3. 可以加載`css`文件,可以加載`js`文件,還有`image`文件。

```

第一個:加載css文件

第二個:加載js文件

第三個:加載圖片文件

總結

以上是生活随笔為你收集整理的Flask mysql 模版传参_Flask渲染Jinja2模板和传参的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。