在Python中使用HTML模版的教程
這篇文章主要介紹了在Python中使用HTML模版的教程,HTML模版也是Python的各大框架下的一個基本功能,需要的朋友可以參考下
Web框架把我們從WSGI中拯救出來了。現在,我們只需要不斷地編寫函式,帶上URL,就可以繼續Web App的開發了。
但是,Web App不僅僅是處理邏輯,展示給使用者的頁面也非常重要。在函式中返回一個包含HTML的字串,簡單的頁面還可以,但是,想想新浪首頁的6000多行的HTML,你確信能在Python的字串中正確地寫出來麼?反正我是做不到。
俗話說得好,不懂前端的Python工程師不是好的產品經理。有Web開發經驗的同學都明白,Web App最複雜的部分就在HTML頁面。HTML不僅要正確,還要通過CSS美化,再加上覆雜的JavaScript指令碼來實現各種互動和動畫效果。總之,生成HTML頁面的難度很大。
由於在Python程式碼裡拼字串是不現實的,所以,模板技術出現了。
使用模板,我們需要預先準備一個HTML文件,這個HTML文件不是普通的HTML,而是嵌入了一些變數和指令,然後,根據我們傳入的資料,替換後,得到最終的HTML,傳送給使用者:
這就是傳說中的MVC:Model-View-Controller,中文名“模型-檢視-控制器”。
Python處理URL的函式就是C:Controller,Controller負責業務邏輯,比如檢查使用者名稱是否存在,取出使用者資訊等等;
包含變數{{ name }}的模板就是V:View,View負責顯示邏輯,通過簡單地替換一些變數,View最終輸出的就是使用者看到的HTML。
MVC中的Model在哪?Model是用來傳給View的,這樣View在替換變數的時候,就可以從Model中取出相應的資料。
上面的例子中,Model就是一個dict:
{ 'name': 'Michael' }
只是因為Python支援關鍵字引數,很多Web框架允許傳入關鍵字引數,然後,在框架內部組裝出一個dict作為Model。
現在,我們把上次直接輸出字串作為HTML的例子用高階大氣上檔次的MVC模式改寫一下:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from
flask
import
Flask, request, render_template
app
=
Flask(__name__)
@app
.route(
'/'
, methods
=
[
'GET'
,
'POST'
])
def
home():
return
render_template(
'home.html'
)
@app
.route(
'/signin'
, methods
=
[
'GET'
])
def
signin_form():
return
render_template(
'form.html'
)
@app
.route(
'/signin'
, methods
=
[
'POST'
])
def
signin():
username
=
request.form[
'username'
]
password
=
request.form[
'password'
]
if
username
=
=
'admin'
and
password
=
=
'password'
:
return
render_template(
'signin-ok.html'
, username
=
username)
return
render_template(
'form.html'
, message
=
'Bad username or password'
, username
=
username)
if
__name__
=
=
'__main__'
:
app.run()
|
Flask通過render_template()函式來實現模板的渲染。和Web框架類似,Python的模板也有很多種。Flask預設支援的模板是jinja2,所以我們先直接安裝jinja2:
?1 |
$ easy_install jinja2
|
然後,開始編寫jinja2模板:
1 |
home.html
|
用來顯示首頁的模板:
?1 2 3 4 5 6 7 8 9 10 11 |
<html>
<head>
<title>Home<
/
title>
相關推薦python中PIL安裝教程很多同學會遇到我這樣的問題,當解決一些圖片問題(本人在解決ctf隱寫術的題型時由於需要跑python指令碼),在安裝pil時出現了這樣的錯誤,這也就加大了我們安裝模組的手動工作力度,在開始安裝PIL時,可以說我是一頭霧水,通過檢視各種教程和心得,獲得了自己的一份小的心得, 在Python中使用HTML模版的教程轉載 作者:廖雪峰 這篇文章主要介紹了在Python中使用HTML模版的教程,HTML模版也是Python的各大框架下的一個基本功能,需要的朋友可以參考下 Web框架把我們從WSGI中拯救出來了。現在,我們只需 【轉載】Python中的正則表達式教程大小 區別 some 操作 按位或 出了 sta 技術分享 嘗試 本文http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 正則表達式經常被用到,而自己總是記不全,轉載一份完整的以備不時之需。 1. python中sys.argv的說明(讀《python簡明教程》的困惑解答)pan span for 源文件 後來 clas using str 過多 在閱讀《python簡明教程》的時候,第8章、14章有對sys模塊的使用,其中關於sys.argv的說明有一點困惑,讓自己思索了好久,後來才恍然大悟,在這裏分享一下我所理解到的,以便於和我有一樣困惑 python 中的turtle使用教程python2.6版本中引入的一個簡單的繪圖工具,叫做海龜繪圖(Turtle Graphics) 1.使用海龜繪圖首先我們需要匯入turtle,如下所示: from turtle import * #將turtle中的所有方法匯入 2.海龜繪圖屬性: (1)位置 在Python中使用正則表示式去掉字串裡的html標籤有時候會獲得一些帶html標籤的字串,需要把html標籤去掉,獲得乾淨的字串,這時候可以使用正則表示式。 程式碼如下: import re htmeString = ''' <ul id="TopNav"> &nbs 在Python中使用正則表達式去掉字符串裏的html標簽class tab import pytho 設置 裏的 highlight abc dal 有時候會獲得一些帶html標簽的字符串,需要把html標簽去掉,獲得幹凈的字符串,這時候可以使用正則表達式。 代碼如下: import re htmeString = ‘‘‘ Python從零入門教程 | 在不同的作業系統中安裝Python程式設計環境Python是一種跨平臺的程式語言,這意味著它能夠執行在所有主要的作業系統中,那麼我們所熟知的作業系統包括:Windows、MacOs、 Linux。那麼今天要講的就是如何在每個作業系統中成功的安裝python. 一、在Windows系統中搭建Python程式設計環境 01.下 python中pdb的使用教程1.執行指令碼至斷點pdb.set_trace()處,n+enter/enter執行當前的statement 2.推出debug:quit/q,暴力退出 3.列印變數的值:p 變數A(條件是A已經執行得到) 4.停止debug繼續執行程式:c 5.debug過程中顯示程式碼:l python處理html中的以開頭的編碼亂碼格式類似‘图灵程序设计丛书’ 程式碼為: text='图 python中x-path對html的使用初學XPath,其實很簡單 XPath 是一門在 XML 文件中查詢資訊的語言。XPath 用於在 XML 文件中通過元素和屬性進行導航。 (我的理解:XPath 就是一個用來查詢xml節點的路徑語言,一個路徑字串語法) XML 例項文件 我們將在下面的例子中使 Python中的正則表示式教程轉自:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html1. 正則表示式基礎1.1. 簡單介紹正則表示式並不是Python的一部分。正則表示式是用於處理字串的強大工具,擁有自己獨特的語法以及一個獨立的處理引擎 Python中的PIL庫的一些簡單教程PIL 庫中最重要的也是最常用的類是Image類from PIL import Image使用Image類開啟圖片使用open()函式image_ori=Image.open("pic/chenming.png");這樣就得到了一個Image類的例項,它具有一些屬性和方法pr 菜鳥教程-python中的包轉載自:http://www.runoob.com/python/python-modules.html包是一個分層次的檔案目錄結構,它定義了一個由模組及子包,和子包下的子包等組成的 Python 的應用環境。簡單來說,包就是資料夾,但該資料夾下必須存在 __init__.p 十八哥視訊教程中html和css的tips9、盒模型:把div當成一個盒子來看待,盒子與盒子直接的距離叫margin(外邊距),盒子壁的厚度叫bord(邊框),盒子壁與內容物之間的距離叫padding(內邊距),裡面放的東西叫做content(內容物); python中安裝配置pyspark庫教程需要配合spark+hadoop使用單獨安裝pyspark庫在單機上是沒法執行的,需要有相應的分散式軟體,這裡可以是spark+hadoop,配置安裝教程連結:spark2.3在window10當中來搭建python3的使用環境pyspark配置pyspark庫之前在安裝spark的時候,提到過pyspark庫 在python中超簡單安裝mxnet (附conda安裝教程)安裝類別: 1) 用pip安裝mxnet的python版本(CPU版本) 2) 用pip安裝mxnet的python版本(GPU版本) 3) 編譯安裝到作業系統上 這裡只說前兩種,且不管是windows還是linux,python2還是python3 Python中RabbitMQ的使用(安裝和簡單教程)RabbitMQ(Rabbit Message Queue)是流行的開源訊息佇列系統,用erlang語言開發。 RabbitMQ 它依賴於Erlang,需要先安裝Erlang。首先確定你的window電腦是32位還是64位,以下的安裝以window 64位電腦舉例。 Python實戰開發之Pyramid Web框架在商城專案中的應用教程第一講:Python基礎和入門介紹(Web開發基礎) 介紹Web開發技術和Python語言的基礎知識。通過本講的學習,學員可以瞭解Python Web開發技術的基礎和相關常識,為後續學習打下基礎。 第二講:Python語言基礎(運算子與表示式,控制流,函式,模組) 在第一講的基礎上繼續深入學習Pyth 使用Python中的HTMLParser、cookielib抓取和解析網頁、從HTML文件中提取連結、影象、文字、Cookies .對搜尋引擎、檔案索引、文件轉換、資料檢索、站點備份或遷移等應用程式來說,經常用到對網頁(即HTML檔案)的解析處理。事實上,通過 Python語言提供的各種模組,我們無需藉助Web伺服器或者Web瀏覽器就能夠解析和處理HTML文件。本文上篇中,我們介紹了一個可以幫助簡化開啟 |