专栏首页python-爬虫Flask中多APP应用以及admin后台系统

Flask中多APP应用以及admin后台系统

一.多APP

from werkzeug.wsgi import DispatcherMiddleware
from werkzeug.serving import run_simple
from flask import Flask, current_app
app1 = Flask('app01')
app2 = Flask('app02')

@app1.route('/index')
def index():
    return "app01"

@app2.route('/index2')
def index2():
    return "app2"

# http://localhost:5000/index
# http:/localhost:5000/sec/index2
dm = DispatcherMiddleware(app1, {
    '/sec': app2,
})

if __name__ == "__main__":
    run_simple('localhost', 5000, dm)

二.flask-admin

安装

pip3 install flask_admin

简单使用

from flask import Flask
from flask_admin import Admin

app = Flask(__name__)
#将app注册到adminzhong 
admin = Admin(app)

if __name__=="mian":

	app.run()
#访问
#127.0.0.1:5000/admin端口,会得到一个空白的页面

将表模型注册到admin中

#在将表注册之前应该对app进行配置
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:@127.0.0.1:3307/py9api?charset=utf8mb4"
SQLALCHEMY_POOL_SIZE = 5
SQLALCHEMY_POOL_TIMEOUT = 30
SQLALCHEMY_POOL_RECYCLE = -1

#导入models文件的中的表模型
from flask_admin.contrib.sqla import ModelView
from api.models import Stock,Product,Images,Category,Wxuser,Banner

admin.add_view(ModelView(Stock, db.session))
admin.add_view(ModelView(Product, db.session))

admin.add_view(ModelView(Category, db.session))

如果有个字段是图片指端

#配置上传文件的路径
#导入from flask_admin.contrib.fileadmin import FileAdmin
from flask_admin.contrib.fileadmin import FileAdmin,form
file_path = op.join(op.dirname(__file__), 'static')
admin = Admin(app)
admin.add_view(FileAdmin(file_path, '/static/', name='文件'))

#如果有个字段要是上传文件重写该方法的modleView类,假设imgae_url是文件图片的字段
class ImagesView(ModelView):

    form_extra_fields = {
        'image_url': form.ImageUploadField('Image',
                                          base_path=file_path,
                                          relative_path='uploadFile/'
                                          )
    }

admin.add_view(ImagesView(Images, db.session))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3异步爬虫 ——aiohttp模板使用

    小小咸鱼YwY
  • poco对象生成的几种方式根据你使用不同的ui决定

    小小咸鱼YwY
  • FLask中蓝图(用于分文件)

    1 xxx = Blueprint('account', __name__,url_prefix='/xxx')

    小小咸鱼YwY
  • Python实现Restful API

    最近写了一个网络验证登录的爬虫,需要发布为Rest服务,然后发现Flask是一个很好的Web框架,使用Python语言实现。

    py3study
  • flask基础

         Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服...

    py3study
  • Flask-蓝图、模型与CodeFirs

    db.create_all(app=app),这样就可以了,在数据库中就可以看到表了

    py3study
  • React+TypeScript开发--环境搭建

    打开Node.js的官网,它会自动识别所在的环境,推荐你下载相应版本,左侧是持久支持的稳定版本,右侧是最新版本。我用的是Mac所以这里进入下载的是Mac版。

    用户6094182
  • Angular 正式环境禁止console显示

    开发人员在开发过程中有意无意的在代码中使用console.log查看变量内容进行调试。 在正式环境最好屏蔽掉这些信息。更好的习惯是console.log用完就...

    mafeifan
  • PyTorch深度学习模型的服务化部署

    本文将介绍如何使用Flask搭建一个基于PyTorch的图片分类服务以及并行处理的相关技术。作为一个深度学习工程师,学习这些内容是为了方便对服务化的模型进行de...

    带萝卜
  • python的装饰器和闭包

    因为在编译时,python会认为b是局部变量,这是python的一个设计选择,为了避免变量的污染,想一想。如果某人在函数内部改动了变量,你没有办法看到这个函数,

    哒呵呵

扫码关注云+社区

领取腾讯云代金券