美文网首页
Python Flask 快速部署网页demo

Python Flask 快速部署网页demo

作者: filterc | 来源:发表于2019-03-18 12:18 被阅读0次

最近看到一个 Python 的轻量化的 web 框架 Flask,恰好我有一些做的东西需要做成 demo给别人看,就简单的做了一个例子,方便以后再用的时候参考。

Flask 简介

引用 Flask 官网的例子

# 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,用户从网页上输入一句话,点击发送之后,返回这个字符串的倒序。以这个例子为基础,可以扩展出很多功能,比如聊天机器人、查询数据等等,只要改一下对输入的处理函数就可以了。

image-20190318121146079.png

参考代码

目录结构

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> 发送 </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>

相关文章

网友评论

      本文标题:Python Flask 快速部署网页demo

      本文链接:https://www.haomeiwen.com/subject/wejvmqtx.html