flask中的簡單的前端寫入


  那么flask這個框架是web開發,那么肯定離不開前端的一些代碼,那么python用的web開發框架

  開發所用的前端模板就是jinja2模板。相對於jinja1比起來性能做到了很大的提升,那么Vue一些原理

  有很多類似jinja2的東西。就比如 {{ }},倆者也都用到了,也很實用。那么我們簡單來寫一個小頁面

  當然,先要起flask服務

代碼如下

# -*- encoding: utf-8 -*-

# 網頁模板需要導入render_template
from flask import Flask,render_template

# 建立對象
app = Flask(__name__)

app.config.from_pyfile('config.ini')

@app.route('/')
def index():
my_str = "你好世界"
# my_int = 123
# my_list = [4,5,6]
# my_dict = {'name':'小明','age':15}

context = {}
context['my_str'] = my_str
context['my_int'] = 100
context['my_list'] = ['衛生紙','膠條','亂七八糟',78,'再來一個','還是不好看','好亂!']
context['my_dict'] = {'name':'小花','age':15}

# 使用render_template 模塊來渲染模板文件,通過第二個參數傳遞數據變量
# return render_template('day03.html', my_str=my_str, my_int=my_int,my_list=my_list,my_dict=my_dict)
# 推薦使用第二種。用過**引用來將嵌套dict直接傳遞給模板
return render_template('day03.html',**context)



if __name__ == "__main__":
app.run()
 
   這簡單的寫一下,介紹一下。那么我們這里需要配合html來一起使用。注意一點,這里需要建一個文件夾名為 templates 的文件夾,不然在html中導入的話,你會找不到Py文件中所傳遞的參數,html頁面的,代碼如下
 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>flask網頁模板的學習</title>
</head>
<body>
<div>
<!-- 雙中括弧是輸出。單中括弧是邏輯判斷 以后的注釋要用{# #} 需要注意的是,這樣的注釋是在html中的簡單注釋,我們現在是動態的在傳數據形式,那么以后的注釋都要統一規范,我只是在我傳入數據的時候寫了幾個簡單的注釋,下面的之后全是以{# #}來當注釋的 小細節要注意,不然錯誤的話不好找 -->
這是我們第一個網頁模板 <br /><br />
<!-- 這里是注釋。最基本的模板語法輸出一個變量 -->
<!-- {{ my_str + ", 前端頁面" }} <br /><br /> -->
<!-- 模板語法可以做簡單的運算 -->
{{ my_int + 10 }} <br /><br />
<!-- list的操作,可以引用下表的方式輸出list元素 -->
{{ my_list }}<br />
{{ my_list[0] }}<br />
{{ my_list.1 }}<br /><br /><br />
{{ my_dict["name"] }} <br />
{{ my_dict }} <br />
{{ my_dict.age }} <br />

{# 使用{% %} 來定義簡單的邏輯控制代碼 #}
{% if my_int %}
整型存在
{% else %}
不存在
{# 使用if判斷。一定要有endif 用來結束邏輯判斷#}
{% endif %}

<ul>
{# 使用for循環來遍歷list #}
{% for item in my_list %}
<li>{{ item }}</li>
{# 使用for循環也要用endfor#}
{% endfor %}
</ul>
{# 使用if for 嵌套來實現單雙行背景色 #}
   我這里用的是內聯樣式,為了更直觀,並不是很正規。
<table style="border:1px solid black;padding: 5px;">
{% for item in my_list %}
{% if loop.index % 2 == 0 %}
<tr style="">">
<td>{{ item }}</td>
</tr>
{% else %}
<tr style="">">
<td>{{ item }}</td>
</tr>
{% endif %}
{% endfor %}
</table>
</div>
</body>
</html>
  
   那么簡單的頁面就基本完成了。  至於詳細的會以后再做補充。 還是那句話,業務依據邏輯 ,邏輯推敲代碼,代碼完成業務!
 
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM