[关闭]
@coolfish 2016-11-25T06:27:08.000000Z 字数 2066 阅读 1480

测试管理台分享


  • 准备工作
  • Flask简介
  • 管理台介绍
  • TODO
  • 相关资料

0 准备工作


1 Flask

1.1 什么是 flask

Flask是一个微WEB框架,只包含的核心的功能,如werkzeug(python的WSGI的一个实现)、Jinja2(一个模板引擎)

1.2 一个简单的DEMO

  1. #!/usr/bin/python

  2. # coding=utf-8

  3. import os
  4. from flask import Flask, render_template

  5. app = Flask(__name__)
  6. app.template_folder = os.path.dirname(os.path.basename(__file__))



  7. @app.route('/')
  8. def index():
  9. return render_template('test.html')



  10. @app.route('/login', methods=['post'])
  11. def login():
  12. return u'你已登录'
  13. if __name__ == '__main__':
  14. app.run(debug=True)

2 管理台

2.1 框架结构

  1. ├── app
  2.    ├── __init__.py
  3.    ├── auth
  4.       ├── __init__.py
  5.       ├── forms.py
  6.       ├── views.py
  7.    ├── bug
  8.       ├── __init__.py
  9.       ├── views.py
  10.    ├── models.py
  11.    ├── static
  12.       ├── css
  13.       ├── img
  14.       └── js
  15.    ├── templates
  16.       ├── 404.html
  17.       ├── 500.html
  18.       ├── apollo
  19.    └── tools
  20.    ├── __init__.py
  21.    ├── apollo.py
  22.    ├── views.py
  23. ├── config.py
  24. ├── manage.py
  25. └── requirements.txt

2.2 后端

使用蓝图功能切分功能模块

  1. #!/usr/bin/python
  2. # coding=utf-8
  3. import os
  4. import logging
  5. from flask import Flask
  6. from flask.ext.sqlalchemy import SQLAlchemy
  7. from flask_bootstrap import Bootstrap
  8. from flask.ext.login import LoginManager
  9. from config import config
  10. login_manager = LoginManager()
  11. db = SQLAlchemy()
  12. bs = Bootstrap()
  13. def create_app():
  14. app = Flask(__name__)
  15. app.config.from_object(config)
  16. db.init_app(app)
  17. bs.init_app(app)
  18. login_manager.init_app(app)
  19. login_manager.login_view = 'auth.index'
  20. # 关闭session保护强模式
  21. # login_manager.session_protection = 'strong'
  22. from .auth import auth as auth_blueprint
  23. from .bug import bug as bug_blueprint
  24. from .tools import tools as tools_blueprint
  25. app.register_blueprint(auth_blueprint, url_prefix='/auth')
  26. app.register_blueprint(bug_blueprint)
  27. app.register_blueprint(tools_blueprint)
  28. return app

2.3 数据库

SQLAlchemy

2.4 前端

bootstrap + jq

2.5 写自己的需要的功能

2.6 部署

使用uwsgi

  1. [uwsgi]
  2. # uwsgi 启动时所使用的地址与端口
  3. http = 0.0.0.0:8089
  4. # 指向网站目录
  5. pp= /data/testtool/lpd_test_platform/lpd_test_platform/
  6. chdir = /data/testtool/lpd_test_platform/lpd_test_platform/
  7. # python 启动程序文件
  8. wsgi-file = manage.py
  9. # python 程序内用以启动的 application 变量名
  10. callable = app
  11. # 处理器数
  12. processes = 4
  13. # 线程数
  14. threads = 2
  15. #状态检测地址
  16. stats = 127.0.0.1:9192
  17. pidfile = lpd_test_platform.pid

3 TODO


4 相关资料

flask官方文档

jinja2官方文档

flask-restful官方文档

Json-editor文档

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注