【Web开发】Python实现Web服务器(Flask测试后台框架模板)

【Web开发】Python实现Web服务器(Flask测试后台框架模板),提示:Flask是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。,Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。,layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,非常适合网页界面的快速开发。layui 区别于那些基于 MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是面向后端开发者,你无需涉足前端各种工具,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。
【Web开发】Python实现Web服务器(Flask测试后台框架模板),layuimini,后台admin前端模板,基于 layui 编写的最简洁、易用的后台框架模板。只需提供一个接口就直接初始化整个框架,无需复杂操作。,界面足够简洁清爽,响应式且适配手机端。,Pear Admin 是一款开箱即用的前端开发模板,扩展Layui原生UI样式,整合第三方开源组件,提供便捷快速的开发方式,延续LayuiAdmin的设计风格,持续完善的样式与组件的维护,基于异步Ajax的菜单构建,相对完善的多标签页,单标签页的共存.,<font color=blue size=5> 亲,相关功能正在建设中,请稍等。。。
【Web开发】Python实现Web服务器(Flask测试后台框架模板),如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(◡‿◡)
感谢各位童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!,

【Web开发】Python实现Web服务器(Flask测试后台框架模板)

1、前言

提示:Flask是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。

Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

  • 一个最小的 Flask 应用如下:
from flask import Flask
app = Flask(__name__)

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

2、Flask测试网页(后台框架模板)

2.1 基于layui的后台框架模板的网页

layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,非常适合网页界面的快速开发。layui 区别于那些基于 MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是面向后端开发者,你无需涉足前端各种工具,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。 【Web开发】Python实现Web服务器(Flask测试后台框架模板)

  • test_layui.py:
#***************************************************************
#   Purpose:   基于layui的后台框架模板的网页(Flask的web服务器)
#   Author:    爱看书的小沐
#   Date:      2022-5-24
#   Languages: python
#   Platform:  python 3.9 win64
#   OS:        Win10 win64
# **************************************************************
from flask import Flask, Response
from flask import render_template, make_response, jsonify, send_from_directory
from io import FileIO
import os

app = Flask(__name__)
#app = Flask(__name__, template_folder="templates")

app.jinja_env.block_start_string = '{%%'  # 修改块开始符号
app.jinja_env.block_end_string = '%%}'  # 修改块结束符号
app.jinja_env.variable_start_string = '{{{'  # 修改变量开始符号
app.jinja_env.variable_end_string = '}}}'  # 修改变量结束符号
app.jinja_env.comment_start_string = '##}'  # 修改注释开始符号
app.jinja_env.comment_end_string = '##}'  # 修改注释结束符号复制代码

# 因为vue和render_template的模板都是用{{  }},所以会冲突,将flask的修改为[[  ]]
##app.jinja_env.variable_start_string = '[['
##app.jinja_env.variable_end_string = ']]'

@app.route('/')
def index():
    return render_template('layui-v2.6.9/examples/table.html')

@app.route("/dist/css/<path:path>")
@app.route("/src/css/<path:path>")
def get_css2(path):
    data = FileIO("templates/layui-v2.6.9/src/css/{}".format(path))
    resp = Response(data, mimetype="text/css")
    return resp

@app.route("/dist/<path:path>")
@app.route("/src/<path:path>")
def get_json(path):
    data = FileIO("templates/layui-v2.6.9/src/{}".format(path))
    resp = Response(data, mimetype="application/javascript")
    return resp

@app.route("/json/<path:path>")
def get_binary(path):
    data = FileIO("templates/layui-v2.6.9/examples/json/{}".format(path))
    resp = Response(data, mimetype="application/json")
    return resp

@app.route('/favicon.ico')
def favicon():
    return send_from_directory(os.path.join(app.root_path, 'static'), 'favicon.ico'
        , mimetype='image/vnd.microsoft.icon')
    #<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
 
if __name__ == '__main__':
   app.run(debug = True)
  • 运行结果: 【Web开发】Python实现Web服务器(Flask测试后台框架模板) 【Web开发】Python实现Web服务器(Flask测试后台框架模板)

2.2 基于layuimini的后台框架模板的网页

layuimini,后台admin前端模板,基于 layui 编写的最简洁、易用的后台框架模板。只需提供一个接口就直接初始化整个框架,无需复杂操作。

界面足够简洁清爽,响应式且适配手机端。

  • 一个接口几行代码而已直接初始化整个框架,无需复杂操作。

  • 页面支持多配色方案,可自行选择喜欢的配色。

  • 支持多tab,可以打开多窗口。

  • 支持无限级菜单和对font-awesome图标库的完美支持。

  • 失效以及报错菜单无法直接打开,并给出弹出层提示完美的线上用户体验。

  • url地址hash定位,可以清楚看到当前tab的地址信息。

  • 刷新页面会保留当前的窗口,并且会定位当前窗口对应左侧菜单栏。

  • 支持font-awesome图标选择插件.

  • test_layuimini.py:

#***************************************************************
#   Purpose:   基于layuimini的后台框架模板的网页(Flask的web服务器)
#   Author:    爱看书的小沐
#   Date:      2022-5-30
#   Languages: python
#   Platform:  python 3.9 win64
#   OS:        Win10 win64
# **************************************************************
from flask import Flask, Response
from flask import render_template, make_response, jsonify, send_from_directory
from io import FileIO
import os
import mimetypes

app = Flask(__name__)

app.jinja_env.block_start_string = '{%%'  # 修改块开始符号
app.jinja_env.block_end_string = '%%}'  # 修改块结束符号
app.jinja_env.variable_start_string = '{{{'  # 修改变量开始符号
app.jinja_env.variable_end_string = '}}}'  # 修改变量结束符号
app.jinja_env.comment_start_string = '##}'  # 修改注释开始符号
app.jinja_env.comment_end_string = '##}'  # 修改注释结束符号复制代码

@app.route('/')
def index():
    return render_template('layuimini-2/index.html')

@app.route("/<path:path>")
def get_staticfile(path):
    directory = os.getcwd() + "/templates/layuimini-2/"
    print(directory)
    response = make_response(send_from_directory(directory, path.encode('utf-8').decode('utf-8'), as_attachment=False))
    mime_type = mimetypes.guess_type(path)[0]
    if path.endswith(".js") :
       mime_type = "application/javascript"
    response.headers['Content-Type'] = mime_type
    print(directory, path, mime_type)
    return response

@app.route('/favicon.ico')
def favicon():
    return send_from_directory(os.path.join(app.root_path, 'static'), 'favicon.ico'
        , mimetype='image/vnd.microsoft.icon')
    #<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
 
if __name__ == '__main__':
   app.run(debug = True)
  • 运行结果: 【Web开发】Python实现Web服务器(Flask测试后台框架模板)

2.3 基于Pear Admin Layui的后台框架模板的网页

Pear Admin 是一款开箱即用的前端开发模板,扩展Layui原生UI样式,整合第三方开源组件,提供便捷快速的开发方式,延续LayuiAdmin的设计风格,持续完善的样式与组件的维护,基于异步Ajax的菜单构建,相对完善的多标签页,单标签页的共存.

  • test_layuimini.py:
#***************************************************************
#   Purpose:   基于Pear Admin Layui的后台框架模板的网页(Flask的web服务器)
#   Author:    爱看书的小沐
#   Date:      2022-5-30
#   Languages: python
#   Platform:  python 3.9 win64
#   OS:        Win10 win64
# **************************************************************
from flask import Flask, Response
from flask import render_template, make_response, jsonify, send_from_directory
from io import FileIO
import os
import mimetypes

app = Flask(__name__)

app.jinja_env.block_start_string = '{%%'  # 修改块开始符号
app.jinja_env.block_end_string = '%%}'  # 修改块结束符号
app.jinja_env.variable_start_string = '{{{'  # 修改变量开始符号
app.jinja_env.variable_end_string = '}}}'  # 修改变量结束符号
app.jinja_env.comment_start_string = '##}'  # 修改注释开始符号
app.jinja_env.comment_end_string = '##}'  # 修改注释结束符号复制代码

@app.route('/')
def index():
    return render_template('Pear-Admin-Layui-main/index.html')

@app.route("/<path:path>")
def get_staticfile(path):
    directory = os.getcwd() + "/templates/Pear-Admin-Layui-main/"
    print(directory)
    response = make_response(send_from_directory(directory, path.encode('utf-8').decode('utf-8'), as_attachment=False))
    mime_type = mimetypes.guess_type(path)[0]
    if path.endswith(".js") :
       mime_type = "application/javascript"
    response.headers['Content-Type'] = mime_type
    print(directory, path, mime_type)
    return response

@app.route('/favicon.ico')
def favicon():
    return send_from_directory(os.path.join(app.root_path, 'static'), 'favicon.ico'
        , mimetype='image/vnd.microsoft.icon')
    #<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
 
if __name__ == '__main__':
   app.run(debug = True)
  • 运行结果: 【Web开发】Python实现Web服务器(Flask测试后台框架模板)

3、Flask测试网页(其他)

3.1 基于vue的考试题目列表的网页

  • test_vue.py:
#***************************************************************
#   Purpose:   基于vue的考试题目列表的网页(Flask的web服务器)
#   Author:    爱看书的小沐
#   Date:      2022-5-30
#   Languages: python
#   Platform:  python 3.9 win64
#   OS:        Win10 win64
# **************************************************************
import sqlite3,os
from flask import Flask
from flask import jsonify,render_template,send_from_directory
from flask_cors import CORS

app = Flask(__name__)

# CORS(app, supports_credentials=True)    #解决跨域问题
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})   #两种模式都行

@app.route('/')
def home():
    return render_template('test_vue.html',title='flask + vue example')

@app.route('/api/questions')
def get_questions():
    db_path = os.getcwd() + "/static/exam.db"
    conn = sqlite3.connect( db_path )
    conn.row_factory = sqlite3.Row
    cur = conn.cursor()
    # sql = 'select * from questions'
    sql = 'SELECT * from questions ORDER BY RANDOM () LIMIT 100'
    rows = cur.execute(sql).fetchall()
    rows = [dict(row) for row in rows]
    return jsonify(rows)

@app.route('/favicon.ico')
def favicon():
    return send_from_directory(os.path.join(app.root_path, 'static'), 'favicon.ico'
        , mimetype='image/vnd.microsoft.icon')

if __name__ == "__main__":
    app.run(debug=True, port=5000)
  • 运行结果: 【Web开发】Python实现Web服务器(Flask测试后台框架模板)

<font color=blue size=5> 亲,相关功能正在建设中,请稍等。。。 【Web开发】Python实现Web服务器(Flask测试后台框架模板)

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭ 如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O??? 如果您需要相关功能的代码定制化开发,可以留言私信作者;(◡‿◡) 感谢各位童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

文章版权声明

 1 原创文章作者:8943,如若转载,请注明出处: https://www.52hwl.com/37468.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年7月15日 下午5:14
下一篇 2023年7月15日 下午5:15