专栏首页sktjflask flask-script自定义指令(flask 50)

flask flask-script自定义指令(flask 50)

from flask import Flask,render_template from views.admin import admin_bp from views.auth import auth_bp from views.blog import blog_bp from settings import config from extensions import bootstrap,db,login_manager,csrf,ckeditor,mail,moment,toolbar,migrate import os from flask_wtf.csrf import CSRFError from fakes import fake_admin, fake_categories, fake_posts, fake_comments from flask_script import Manager

app = Flask(name) basedir = os.path.abspath(os.path.dirname(file)) manager=Manager(app)

def create_app(config_name=None): if config_name is None: config_name = os.getenv('FLASK_CONFIG', 'development')

app.config.from_object(config[config_name])
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True

register_blueprints(app)
register_extensions(app)
register_errors(app)
register_commands(app)
return app

def register_blueprints(app): app.register_blueprint(blog_bp) app.register_blueprint(admin_bp) app.register_blueprint(auth_bp)

def register_extensions(app): bootstrap.init_app(app) db.init_app(app) login_manager.init_app(app) csrf.init_app(app) ckeditor.init_app(app) mail.init_app(app) moment.init_app(app) toolbar.init_app(app) migrate.init_app(app, db)

def register_errors(app): @app.errorhandler(400) def bad_request(e): return render_template('errors/400.html'),400

@app.errorhandler(404)
def page_not_found(e):
    return render_template('errors/404.html'), 404

@app.errorhandler(500)
def internal_server_error(e):
    return render_template('errors/500.html'), 500

@app.errorhandler(CSRFError)
def handle_csrf_error(e):
    return render_template('errors/400.html', description=e.description), 400

def register_commands(app): @manager.option('-d','--drop',dest='drop',default=Flask,help='create after drop.') def initdb(drop): if drop: db.drop_all() print('Drop tables') db.create_all() print('Initialized database')

@manager.option('--category', default=10, help="Quantity of categories,default is 10")
@manager.option('--post', default=50, help='Quantity of posts, default is 50.')
@manager.option('--comment', default=500, help='Quantity of comments, default is 500.')
def forge(category, post, comment):
    db.drop_all()
    db.create_all()

    print('Generating the administrator...')
    fake_admin()

    print('Generating %d categories...' % category)
    fake_categories(category)

    print('Generating %d posts...' % post)
    fake_posts(post)

    print('Generating %d comments...' % comment)
    fake_comments(comment)

    print('Generating links...')
    #fake_links()

    print('Done.')

if name == 'main': create_app() manager.run()

python app.py forge

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • flask gunicorn 部署

    workers = multiprocessing.cpu_count() * 2 + 1

    用户5760343
  • python flask web 博客实例 restful api 5

    |-flasky |-app/ |-api_1_0 |-init.py |-users.py |-posts.py |-comments.py |...

    用户5760343
  • flask 错误处理register_errors(flask 46)

    from flask import Flask,render_template from views.admin import admin_bp from ...

    用户5760343
  • 怎样才能做一款好的App,即做app时最需要注意的六个因素

    移动互联网时代,app已经成为了我们生活中不可或缺的一部分了。根据当前情况来看,app在未来几年内,至少两年内,还将会有新一波的火爆增长时期。尤其是我们中国市场...

    非著名程序员
  • 怎样才能做一款好的App,即做app时最需要注意的六个因素

    ? 移动互联网时代,app已经成为了我们生活中不可或缺的一部分了。根据当前情况来看,app在未来几年内,至少两年内,还将会有新一波的火爆增长时期。尤其是我们中...

    非著名程序员
  • mig IP用户读写时序

    FPGA开源工作室将通过五篇文章来给大家讲解xilinx FPGA 使用mig IP对DDR3的读写控制,旨在让大家更快的学习和应用DDR3。

    FPGA开源工作室
  • App出海又遇困局,乘风破浪的互联网企业何时上岸

    App Annie统计显示,2020年6月全球热门应用,TikTok(抖音海外版)继续霸榜,无论是下载量还是收入依旧稳拿第一。今年受到新冠疫情的影响,在一二季度...

    APICloud
  • Go 每日一库之 go-app

    go-app是一个使用 Go + WebAssembly 技术编写渐进式 Web 应用的库。WebAssembly 是一种可以运行在现代浏览器中的新式代码。近两...

    用户7731323
  • 慕课网Flask高级编程实战-4.flask核心机制

    在 3.8节我们通过db.create_all(app=app)的方式解决了working outside application context的错误,下面我...

    Meet相识
  • 慕课网Flask高级编程实战-3.蓝图、模型与CodeFirst

    应该讲一些初始化工作,放在对应层级的包的初始化文件 __init__.py 中。比如Flask核心应用app对象初始化应该放在应用层级app包的 __init_...

    Meet相识

扫码关注云+社区

领取腾讯云代金券