python輕量級web開發框架Flask學習使用
由於工作的需要,需要學習web服務的相關知識,這裡我常用的開發語言是python,查了一下比較火的框架就是Flask了,看文件和相關的介紹應該也是比較好上手的,比較符合專案的應用性特點。
Flask的官網文件在這裡,講的也還不錯,有入門級的例子可以直接拿過來學習使用
下面是今天的一些實踐內容,裡面都有註釋就不多解釋了:
#!usr/bin/env python # encoding:utf-8 import sys import pymysql from flask import Flask from flask import request,jsonify app=Flask(__name__) reload(sys) sys.setdefaultencoding("utf-8") #資料庫連線的相關配置資訊 config_dict={ 'user':'你的資料庫使用者名稱', 'password':'密碼', 'host':'資料庫地址', 'database':'資料庫名' } def select_records(config_dict,tablename): ''' 從指定表中選取記錄 ''' result=[] try: connect=pymysql.connect(**config_dict) cursor=connect.cursor() select_sql="SELECT * FROM %s" % tablename print 'select_records sql is: ',select_sql cursor.execute(select_sql) row=cursor.fetchone() while row: result.append(row) row=cursor.fetchone() except Exception,e: print "select_records sql error: ",e finally: connect.close() print 'Record_length: ',len(result) return result @app.route("/") def init(): return "Hello,init database!" @app.route("/get", methods=["GET"]) def get_content(): ''' GET 操作 ''' if request.method=="GET": scores=float(request.args['score']) nums=int(request.args['num']) IP_list=select_records(config_dict,tablename='validips') result=[] for one_list in IP_list: if one_list[-1]>=scores: result.append(one_list[0]) return jsonify({'IP':result[:nums]}) if __name__ == "__main__": app.run(debug=True)
這段程式的功能是從我本地的資料庫中選取指定的資訊返回。
首先,我們看一下啟動,任何Flask專案都需要先初始化一個app物件,裡面的引數一般都會填寫python中的: __name__
app=Flask(__name__)
一句話就完成了APP物件的建立和初始化工作。
在命令列中啟動後,結果如下圖:
之後,我們可以開啟瀏覽器輸入:http://localhost:5000/ 可以檢視初始化函式的返回結果如下圖:
此時,命令列視窗輸出結果如圖:
證明有一次請求操作已經完成了。
接下來測試一下GET操作,獲取資料庫中的內容資訊,其中,我指定了score和num兩個引數,score是表示ip的分值,num是表示我要返回的ip的數量,在瀏覽器裡面輸入:
回車結果如下圖:
此時,命令列視窗如下圖:
輸出資訊告訴我們:GET請求已經完成了。
這些還是感覺還是很有意思,專案中的一些需求需要在後期釋出稱web服務,flask會是一個不錯的選擇,但是當業務量很大的時候,這樣的單執行緒效率肯定是跟不上了,到時候非同步、併發等機制也會相應地考慮進來了。
相關推薦
python輕量級web開發框架Flask學習使用
由於工作的需要,需要學習web服務的相關知識,這裡我常用的開發語言是python,查了一下比較火的框架就是Flask了,看文件和相關的介紹應該也是比較好上手的,比較符合專案的應用性特點。 Flask的官網文件在這裡,講的也還不錯,有入門級的例子
【Python】 Web開發框架的基本概念與開發的準備工作
世紀 依賴包 ade 並不是 模板 界面 inux tar cal Web框架基本概念 現在再來寫這篇文章顯然有些馬後炮的意思。不過正是因為已經學習了Flask框架, 並且未來計劃學習更加體系化的Django框架,在學習過程中碰到的很多術語等等,非常有必要通過這樣一篇
python常用web開發框架
web框架 Python有上百種Web開發框架,有很多成熟的模板技術,選擇Python開發Web應用,不但開發效率高,而且執行速度快。常用的有Flask和Django。 HTTP請求的所有輸入資訊都可以通過environ獲得,HTTP響應的輸出都可以通過st
python web開發之flask框架學習(2) 加載模版
模版文件 簡書 nbsp 什麽 blog python 目錄 pan col 上次學習了flask的helloword項目的創建,這次來學習flask項目的模版加載: 第一步:創建一個flask項目 第二步:在項目目錄的templates文件夾下創建一個html文件
python web開發之Flask框架
準備工作 安裝 pip/conda install flask pip/conda install flask-wtf pip/conda install flask-bootstrap pip/conda install flask-sqlalchemy pip
我的第一個python web開發框架(2)——一個簡單的小外包
span 技術 進行 target 最好 自己 blog height 描述 第一部分說明 第一部分大概有20來章,主要講的是一些開發常識、開發前中後期準備內容、開發環境與服務器部署環境安裝設置、python基礎框架結構與功能等內容,代碼會比較簡單。
我的第一個python web開發框架(4)——數據庫結構設計與創建
數據結構 描述 分析器 設置 一個 由於 logs 記錄 開發框架 小白做好前端html設計後,馬上開始進入數據庫結構設計步驟。 在開始之前,小白回憶了一下老大在公司裏培訓時講過的數據庫設計解說: 對於初學者來說,很多拿到原型時不知道怎麽設計數據表結
我的第一個python web開發框架(5)——開發前準備工作(了解編碼前需要知道的一些常識)
turn 框架 strong pep8 加密與解密 python開發 lan 二次 沒有 中午吃飯時間到了,小白趕緊向老菜坐的位置走過去。 小白:老大,中午請你吃飯。 老菜:哈哈...又遇到問題了吧,這次得狠狠宰你一頓才行。 小白:行行行,只要您賞臉,
我的第一個python web開發框架(15)——公司介紹編輯功能
getcwd 轉義 導航菜單 unicode 存儲路徑 -c 序號 管理 bsp 完成登錄以後,就會進入後臺管理系統的主界面,因為這個是小項目,所以導航菜單全部固化在HTML中,不能修改。一般後臺還會有一個歡迎頁或關鍵數據展示的主頁面,小項目也沒有多大的必要,所以登錄後
我的第一個python web開發框架(16)——產品分類管理
計算 添加按鈕 _for records 操作 qq群 api 回復 derby 產品分類管理的html頁面之前忘記做了,這次附件裏補上。 好了先上圖 從頁面效果圖來看,我們需要開發列表獲取接口、添加接口、單條記錄獲取接口、編輯接口和刪除接口
我的第一個python web開發框架(18)——前臺頁面與接口整合
ont 成功 讀取數據 pad images int 服務器 tps 替換 由於我們前後臺系統沒有分開,所以前臺頁面調用接口時,可以直接使用後臺管理系統已經完成的接口,不過後臺管理系統接口的訪問加上了登錄驗證,所以需要將前臺要用到的接口進行處理,讓它們設置到白名單當中
我的第一個python web開發框架(21)——小結
線上 天下 謝謝 應用 log 增加 頁面 管理員 封裝 這個小網站終於成功上線,小白除了收獲一筆不多的費用外,還得到女神小美的贊賞,心中滿滿的成就感。這一天下班後,他請老菜一起下館子,兌現請吃飯的承諾,順便讓老菜點評一下。 小白:老大,在你的指導下終於完成了我人
我的第一個python web開發框架(24)——系統重構與ORM
內容 版權 質量 重寫 很多 掌握 orm .... 最重要的 小白弄完代碼版本管理和接口文檔後,興奮的找到老菜。 小白:老大,我已經按你講的要求,將代碼版本管理和接口文檔都搞好了。從項目開始到現在,除了代碼編寫,感覺學會好多東西啊。 老菜:嗯嗯,實戰確實需
我的第一個python web開發框架(33)——後臺管理系統權限設計
style 頁面 失效 限制 路由 前後端分離 也會 其他 自己 框架底層和接口終於改造完成了,小白再次找到老菜。 小白:老大,上次你對後臺權限系統簡單的講了一下,我一點頭緒都沒有,現在有空完整的說一說嗎? 老菜:說到權限系統,要講明白真不容易,權限系統並不
我的第一個python web開發框架(37)——職位管理功能
內容 修改 根據 直接 manage 表數 部分 pytho sel 對於職位管理,我們可以理解它為角色權限的管理,就像前面所說的一樣,有了職位管理,後臺管理系統綁定好對應的權限以後,新進員工、離職或崗位調整,管理員操作起來就非常的便捷了,只需要重新綁定對應職位就可以做
我的第一個python web開發框架(39)——後臺介面許可權訪問控制處理
1 @get('/api/main/menu_info/') 2 def callback(): 3 """ 4 主頁面獲取選單列表資料 5 """ 6 # 獲取當前使用者許可權 7 session = web_helper.get_ses
我的第一個python web開發框架(40)——後臺日誌與異常處理
1 #!/usr/bin/env python 2 # coding=utf-8 3 4 from bottle import put 5 from common import web_helper, encrypt_helper, security_helper 6
Python web開發:Flask的URL和檢視
URL與檢視 URL與函式的對映: 從之前的helloworld.py檔案中,我們已經看到,一個URL要與執行函式進行對映,使用的是@app.route裝飾器。@app.route裝飾器中,可以指定URL的規則來進行更加詳細的對映,比如現在要對映一個文章詳情的URL,文章詳情的URL
Python web開發:Flask的專案配置
認識web url詳解: URL是Uniform Resource Locator的簡寫,統一資源定位符。 一個URL由以下幾部分組成: scheme://host:port/path/?query-string=xxx#anchor 1 scheme:代表的是訪問的協議,一
如何學習web開發框架
如果已經學會了一個PHP框架,再去學習其他php框架,那麼會很容易上手。 但是如果還沒有php框架基礎,想去學習php框架,往往是一頭霧水,不知道從哪裡下手,從我學習php框架的經驗,給大家分享 一下,如何快速的去學習並掌握一個框架。一,選擇一個合適的php框架 在國內,使用zf,ci和tp框架的人