1. 程式人生 > >python輕量級web開發框架Flask學習使用

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的官網文件在這裡,講的也還不錯,有入門級的例子

PythonWeb開發框架的基本概念與開發的準備工作

世紀 依賴包 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框架的人