Python Flask 快速部署網(wǎng)頁demo

最近看到一個 Python 的輕量化的 web 框架 Flask,恰好我有一些做的東西需要做成 demo給別人看,就簡單的做了一個例子,方便以后再用的時候參考。

Flask 簡介

引用 Flask 官網(wǎng)的例子

# hello.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

運行一下:

$ python hello.py
  Running on http://127.0.0.1:5000/

Flask 安裝可以參考:http://docs.jinkan.org/docs/flask/quickstart.html#a-minimal-application

用來做 demo 的例子

這里一個demo,用戶從網(wǎng)頁上輸入一句話,點擊發(fā)送之后,返回這個字符串的倒序。以這個例子為基礎,可以擴展出很多功能,比如聊天機器人、查詢數(shù)據(jù)等等,只要改一下對輸入的處理函數(shù)就可以了。

image-20190318121146079.png

參考代碼

目錄結(jié)構(gòu)

demo.py
templates/
-- index.html

demo.py

import os
from flask import Flask, request, render_template, Markup
app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def demo():
  if request.method == 'GET':
    return render_template('index.html', input_text = '', res_text = '')
  else:
    inputText = request.form.get("input_text")
    resText = Markup(formatRes(reverseText(inputText)))
    return render_template('index.html', input_text = inputText, res_text = resText)

def formatRes(textList):
  return '<p>' + '</p><p>'.join(textList) + '</p>'

# A sample
def reverseText(text):
  res = []
  res.append('Original text: %s' %(text))
  res.append('Converted text: %s' %(''.join(reversed(list(text)))))
  return res

if __name__ == '__main__':
    app.run()

index.html

<html>
<style>
    .query{font-size:20px}
    .result{font-size:20px;margin:0 auto;line-height: 10px;}
</style>
<form method="post" action="/">
    <table>
        <td>
            <p> 發(fā)送 </p>
        </td>
        <td>
            <textarea type="text" class="query" name="input_text" id="input_text" value="" style="width:1000px;height:40px" onkeydown="if (event.keyCode == 13) { this.form.submit(); return false; }">{{input_text}}</textarea>
        <input type="submit" for="input_text" value="提交">
        </td>
    </table>

    <table>
        <td>
            <p> 返回 </p>
        </td>
        <td> 
            <div type="text" class="result" name="res_text" id="res_text" value="" style="width:1000px;height:500px;overflow-y:auto;border-style:solid; border-width:1px; border-color:#000">{{res_text}}</div>
        </td>
    </table>
    <script>
    var textarea = document.getElementById('res_text');
    textarea.scrollTop = textarea.scrollHeight;
    </script>
</form>

</html>

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容