Beispiel #1
0
def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])

    db.init_app(app)
    csrf.init_app(app)
    bcrypt.init_app(app)
    mail.init_app(app)
    login_manager.init_app(app)
    redis_store.init_app(app)
    celery.conf.update(app.config)

    models_committed.connect(receive_change, app)

    sign_in_manage = {}
    sign_in_func = 'account.sign_in'
    for path in blueprints:
        bp = import_string('sayit.views.' + path[0])
        app.register_blueprint(bp, url_prefix=path[1])
        sign_in_manage[bp.name] = sign_in_func

    for path in jinja_filters:
        flt = import_string('sayit.filters:' + path[0])
        app.jinja_env.filters[path[1]] = flt

    login_manager.blueprint_login_views = sign_in_manage

    return app
Beispiel #2
0
def create_app():
    app = Flask(__name__)
    app.config.from_object(config)
    app.register_blueprint(cms_bp)
    app.register_blueprint(common_bp)
    app.register_blueprint(front_bp)
    app.register_blueprint(ueditor_bp)
    db.init_app(app)
    mail.init_app(app)
    CSRFProtect(app)
    return app
Beispiel #3
0
def create_app():
    app = Flask(__name__)
    app.config.from_object(DevConfig)
    print(app.config['DEBUG'])
    db.init_app(app)
    mail.init_app(app)

    app.register_blueprint(cms_bp)
    app.register_blueprint(common_bp)
    app.register_blueprint(front_bp)
    app.register_blueprint(ueditor_bp)
    CSRFProtect(app)

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

    return app
Beispiel #4
0
def create_app():
    app = Flask(__name__)
    app.config.from_object(config['development'])

    db.init_app(app)
    mail.init_app(app)

    from apps.front import api
    api.init_app(app)

    from apps.backend import backend as backend_blueprint
    app.register_blueprint(backend_blueprint)
    from apps.common import common as common_blueprint
    app.register_blueprint(common_blueprint)
    from apps.front import front as front_blueprint
    app.register_blueprint(front_blueprint)

    return app
Beispiel #5
0
def create_app():
    # 创建app,并且指定templates、static文件夹位置
    app = Flask(__name__,
                template_folder='../templates',
                static_folder='../static')
    app.config.from_object(settings)  # 加载配置文件

    db.init_app(app)  # 初始化数据库
    csrf.init_app(app)  # 初始化全局csrf
    mail.init_app(app)  # 初始化发送邮件类
    cache.init_app(app)  # 初始化缓存

    # 注册蓝图
    app.register_blueprint(main_bp)  # 前台展示蓝图
    app.register_blueprint(user_bp)  # 用户模块蓝图
    app.register_blueprint(admin_bp)  # 后台管理蓝图

    return app
Beispiel #6
0
def create_app():
    '''
    创建一个flaks实例,导入相关配置,注册蓝图,绑定到db、mail等库,开启CSRF保护
    :return:
    '''
    app = Flask(__name__)
    app.config.from_object(config)

    app.register_blueprint(cms_bp)
    app.register_blueprint(common_bp)
    app.register_blueprint(front_bp)
    app.register_blueprint(ueditor_bp)

    db.init_app(app)
    mail.init_app(app)

    CSRFProtect(app)
    return app
Beispiel #7
0
def register_extensions(main):
    db.init_app(main)
    login_manager.init_app(main)
    login_manager.login_view = 'login'

    @login_manager.user_loader
    def load_user(id):
        """
        this callback is used to reload the user object from the user
        ID stored in session
        """
        return User.query.get(int(id))

    @login_manager.unauthorized_handler
    def unauthorized_callback():
        return redirect(url_for('app.login'))

    return main
Beispiel #8
0
def create_app():
    app = Flask(__name__)
    app.config.from_object(config)
    
    app.register_blueprint(home_cn_blueprint, url_prefix="/cn")
    app.register_blueprint(home_en_blueprint, url_prefix="/en")
    app.register_blueprint(home_blueprint)
    app.register_blueprint(admin_blueprint, url_prefix="/admin")
    app.register_blueprint(ueditor_blueprint)
    
    db.init_app(app)
    CSRFProtect(app)
    
    # 404错误页面
    @app.errorhandler(404)
    def page_not_found(error):
        return render_template("home_cn/404.html"), 404
    
    return app
Beispiel #9
0
def create_app():
    app = Flask(__name__)
    # 加载配置文件
    app.config.from_object(config)

    # 注册蓝图
    app.register_blueprint(cms_bp)
    app.register_blueprint(common_bp)
    app.register_blueprint(front_bp)
    app.register_blueprint(ueditor_bp)

    # 绑定SQLAlchemy
    db.init_app(app)
    # 绑定CSRF保护
    CSRFProtect(app)
    # 绑定mail
    mail.init_app(app)

    @app.errorhandler(404)
    def page_not_found(error):
        return render_template('common/error_404.html')

    @app.template_filter("time_filter")
    def time_filter(time):
        now = datetime.now()
        period = (now - time).total_seconds()
        if period < 180:
            return "刚刚"
        elif 180 <= period < 3600:
            return "%s分钟前" % int(period / 60)
        elif 3600 <= period < 86400:
            return "%s小时前" % int(period / 3600)
        elif 86400 <= period < 2592000:
            return "%s天前" % int(period / 86400)
        else:
            return time.strftime('%Y-%m-%d')

    @app.template_filter("time_simple")
    def time_simple(time):
        return time.strftime('%Y-%m-%d')

    return app
Beispiel #10
0
def create_app():
    app = Flask(__name__)

    # 导入config
    app.config.from_object(config)

    # 注册db
    db.init_app(app)

    # CSRF攻击
    CSRFProtect(app)

    # mail绑定app
    mail.init_app(app)
    # 注册蓝图
    app.register_blueprint(cms_bp)
    app.register_blueprint(front_bp)
    app.register_blueprint(common_bp)
    app.register_blueprint(ueditor_bp)
    return app
Beispiel #11
0
def create_app():
    app = Flask(__name__)
    CORS(api_bp, resources=r'/*')  # api接口允许跨域请求
    csrf.exempt(api_bp)  # api接口去除csrf保护
    # app.config.from_object(config.config['development'])   #初始化开发环境配置1
    #app.config.from_object(config.config['testing'])  # 初始化测试环境配置
    app.config.from_object(config.config['production'])
    app.config.from_object(scheduler_job.Config())
    app.register_blueprint(api_bp)
    app.register_blueprint(admin_bp)
    app.register_blueprint(common_bp)
    app.register_blueprint(front_bp)
    db.app = app
    mail.app = app

    db.init_app(app)
    mail.init_app(app)
    csrf.init_app(app)

    return app
Beispiel #12
0
def create_app():
    app = Flask(__name__,
                template_folder='../templates',
                static_folder='../static')
    app.config.from_object(settings)
    db.init_app(app)  # 初始化db

    # 初始化csrf,需要配置SECRET_KEY
    # csrf.init_app(app=app)

    # 初始化restful api
    api.init_app(app=app)

    # 初始化cors解决跨域
    cors.init_app(app=app, supports_credentials=True)  # 后面是支持证书认证

    # 初始化缓存文件
    cache.init_app(
        app=app,
        config={
            'CACHE_TYPE': 'redis',  # 缓存类型
            # 'CACHE_REDIS_HOST': 'localhost',  # 地址,默认使用0号数据库
            # 'CACHE_REDIS_PORT': 6379  # 端口号
            'CACHE_REDIS_URL':
            'redis://@localhost:6379/2'  # 无密码, 有密码:redis://user:password@localhost:6379/2
        })

    # 初始化bootstrap两种方法
    bootstrap.init_app(app)
    # Bootstrap(app)

    # 注册蓝图(模块:user_app,blog_app...)
    app.register_blueprint(app_bp)
    app.register_blueprint(user_bp)
    app.register_blueprint(restful_bp)
    app.register_blueprint(api_user_bp)

    return app
Beispiel #13
0
#coding:utf8
from flask import Flask,request,redirect,url_for,session,g,flash
import flask
import config
from exts import db
from models import User,Question,Answer
from decorators import login_required
from sqlalchemy import desc,or_
from verify import validate

app = Flask(__name__)
app.config.from_object(config)  #载入config.py中的配置信息
db.init_app(app)  # app绑定数据库db


@app.route('/')
def index():
	context = {
		'questions': Question.query.order_by(desc('create_time')).all()
	}
	return flask.render_template('index.html',**context)

@app.route('/login/',methods=['GET','POST'])
def login():
	if request.method == 'GET':
		return flask.render_template('login.html')
	else:
		telephone = request.form.get('telephone')
		password  = request.form.get('password')
		# user  = User.query.filter(User.telephone == telephone, User.password == password).first()
		# user  = User.query.filter(User.telephone == telephone).first()
Beispiel #14
0
#encoding: utf-8

from flask import Flask, render_template, request, redirect, url_for, session, g
import config
from models import User, Question, Answer
from exts import db
from decorators import login_required
from sqlalchemy import or_

app = Flask(__name__)
app.config.from_object(config)
db.init_app(app)  #一定不能忘记!!


@app.route('/')
def index():
    context = {'questions': Question.query.order_by('-create_time').all()}
    return render_template('index.html', **context)


# index = login_required(index) = wrapper
# index = wrapper
# index() = wrapper()


@app.route('/login/', methods=['GET', 'POST'])
def login():
    if request.method == 'GET':
        return render_template('login.html')
    else:
        telephone = request.form.get('telephone')
from flask import Flask, render_template, url_for, request, session  # 导入了Flask 类,这个类的一个实例是WSGI程序
from config import DevConfig  # 从配置文件中调入DevConfig部分配置
from exts import db
from models import Imageseval, imagesinfodf
import pandas as pd
import sqlite3
from conversionofCoordi import wgs84togcj02, gcj02tobd09
from imgPred_recognizer import predConfig
from imgPred_training import ERFTrainer
import cv2
import os

app = Flask(__name__)  # 实例化Flask类,把模块/包的名字传给它,这样Flask就会知道它将要到哪里寻找模板,静态文件之类的东西。
app.config.from_object(DevConfig)

db.init_app(app)  # 将app对象传给SQLAlchemy,初始化SQLAlchemy,并自动从app配置中读取信息,自动连接到数据库。

# db.create_all() #可以用于测试SQLAlchemy是否连接到数据库


@app.route(
    '/'
)  # 使用route() 装饰器告诉Flask哪个网址将会触发之下所定义的函数。/同时可以为特定的函数生成网址,并返回想要显示在用户浏览器的信息。
def index():
    return render_template('index.html')


@app.route(
    '/results/'
)  # 使用route() 装饰器告诉Flask哪个网址将会触发之下所定义的函数。/同时可以为特定的函数生成网址,并返回想要显示在用户浏览器的信息。
def results():
Beispiel #16
0
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from exts import db
from models import User

app = Flask(__name__)
DB_URI = 'mysql+pymysql://root:[email protected]:3306/first_alchemy?charset=utf8'
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
#db = SQLAlchemy(app) 将db生成放到另外模块中
db = db.init_app(app)


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


if __name__ == '__main__':
    app.run()
Beispiel #17
0
from flask import Flask, views, url_for
# from flask_restful import Api,Resource,reqparse,inputs,marshal_with,fields
from article_view import article_bp
from exts import db
import config
app = Flask(__name__)
# api = Api(app)
app.config.from_object(config)  #让配置文件生效
app.register_blueprint(article_bp, url_prefix='/article')  #注册蓝本
db.init_app(app)  #扩展实例化


@app.route('/')
def hello_world():
    print(url_for('hello_world'))
    print(url_for('myview'))
    print(url_for('users'))
    return 'Hello World!'


class TestView(views.MethodView):
    def get(self):
        print('get')
        return 'get'

    def post(self):
        return 'post'


app.add_url_rule('/test/', view_func=TestView.as_view('myview'))
Beispiel #18
0
import config

from flask_login import LoginManager
from exts import db

app = Flask(__name__, template_folder='templates', static_folder='static')
# 导入配置
app.config.from_object('config.ProductionConfig')
# app.config.from_object(config.DevelopmentConfig)

# 注册app
# manager = Manager(app)
# Migrate(app, db)
# manager.add_command('db', MigrateCommand)

db.init_app(app)  # 数据库操作的关联

login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'parksys.login'
login_manager.session_protection = "strong"
login_manager.login_message = '请登录以访问此页面'

from parksys.models import *
from parksys.views import parksys
from parkapi.views import parkapi

app.register_blueprint(parksys)
app.register_blueprint(parkapi)

Beispiel #19
0
def create_app():
    app = Flask(__name__)
    app.config.from_object(config)
    app.register_blueprint(api_bp)
    db.init_app(app)
    return app
Beispiel #20
0
#!/usr/bin/env python
# -- coding:utf-8--

from flask import Flask
from exts import db
import config
from models import Article

app = Flask(__name__)
app.config.from_object(config)
db.init_app(app)  #绑定app,初始化app


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


if __name__ == '__main__':
    app.run(debug=True)
Beispiel #21
0
def configure_extensions(app):
    db.init_app(app)
    mail.init_app(app)
Beispiel #22
0
__author__ = 'XeanYu'
from flask import Flask
from conf import db_config
from exts import db
from models import Users
from main import main
from exts import login_manager

login_manager.session_protection = 'strong'
login_manager.login_view = 'main.sgin_in' # 定义验证登录页面

app = Flask(__name__)
app.config.from_object(db_config)

login_manager.init_app(app) # 传入app到login_manager进行初始化
db.init_app(app) # 初始化数据库
with app.app_context():
    db.create_all()


# 将 main 蓝本注册到 app 中
app.register_blueprint(main)

if __name__ == '__main__':
    app.run(debug=True,host='0.0.0.0',port=8080)
Beispiel #23
0
# coding:utf-8
from flask import Flask
import flask
import config

from exts import db

from models import Role, Articles

web = Flask(__name__)
web.config.from_object(config)

db.init_app(web)


@web.route('/')
def index():

    return ('项目结构已经搭建好了!')


@web.route('/login')
def login00():
    return ('这是登录界面!')


if __name__ == '__main__':
    web.run()
Beispiel #24
0
# encoding: utf-8

from flask import Flask, render_template, request, redirect, url_for, session, g
import config
# from flask_sqlalchemy import SQLAlchemy
# from flask_script import Manager   # Manager 用于存放终端命令
from models import User
from exts import db

app = Flask(__name__)
app.config.from_object(config)  # 将数据库的配置文件绑定到app
# manager = Manager(app)
# db = SQLAlchemy(app)
db.init_app(app)  # 将数据库模型初始化

# @app.route('/')
# def home():
#     return render_template('home.html')


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


@app.route('/file_submit/')
def file_submit():
    return render_template('file_submit.html')


@app.route('/login/')
Beispiel #25
0
# !/usr/bin/python3
# -*- encoding:utf-8 -*-

from flask import Flask, url_for, redirect, render_template
import config
from exts import db
from models import User, Book, BookType
from config import *

app = Flask(__name__)
app.config.from_object(config)

index = config.API_VERSION + "/index/"
db.init_app(app)

# 待app初始化完成(这块不太懂)
with app.app_context():
    db.create_all()


@app.route(index)
def index():
    return 'index'


@app.route('/')
def hello():
    # user = User.query.filter(User.username == 'jianyan').first()
    # print(user)
    # print(user.username)
    # print(user.password)
Beispiel #26
0
from flask import Flask, render_template, request, url_for, redirect, session
import config
import pymysql
# pymysql.install_as_MySQLdb()#解决出现没有mysqldb模块
from exts import db
from models import User, Text, Pinglun
from datetime import datetime
from zhuangshiqi import login_required
app = Flask(__name__)
app.config.from_object(config)
db.init_app(app)  #将db和app绑定,解决循环引用
with app.app_context():  #防止出现没有将app绑定在db上面
    db.create_all()


@app.route('/')
def shouye():

    return render_template('shouye.html')


@app.route('/denglu/', methods=['GET', 'POST'])
def denglu():
    if request.method == 'GET':
        return render_template('denglu.html')
    else:
        phone = request.form.get('phone')
        username = request.form.get('username')
        password = request.form.get('password')
        name = request.form.get('name')
        user = User.query.filter(User.username == username,
Beispiel #27
0
import config
import math
from apps.cms.views import bp as cms_bp  #导入后台蓝图
from apps.common.views import bp as common_bp  #导入公共蓝图
from apps.front.views import bp as front_bp  #导入前台蓝图
from ueditor import bp as ueditor  #导入一个编辑器
from datetime import datetime

app = Flask(__name__)  #初始化程序
CSRFProtect(app)  #把app添加到CSRFProtect中
app.register_blueprint(front_bp)  #导入前台蓝图
app.register_blueprint(common_bp)  #导入公共模块蓝图
app.register_blueprint(cms_bp)  #导入后台模块蓝图
app.register_blueprint(ueditor)  #导入一个编辑器蓝图文件
app.config.from_object(config)  #导入配置文件
db.init_app(app)  #把db和app绑定在一起,使其获得config里面关于数据库的配置信息
mail.init_app(app)  #把mail和app绑定在一起,使其获得config里面关于邮箱的的配置信息


# 自定义时间模板过滤器
@app.template_filter('settime')
def settim(value):
    if isinstance(value, datetime):
        now = datetime.now()
        time = (now - value).total_seconds()
        if time < 60:  #小于60秒
            return '刚刚发布'
        elif time > 60 and time < 60 * 60:  #大于60秒小于60分钟
            sj = int(time / 60)
            return '{0}分钟前发布'.format(sj)
        elif time > 60 * 60 and time < 60 * 60 * 24:  #24小时前
Beispiel #28
0
def configure_extensions(app):
    db.init_app(app)
    mail.init_app(app)
Beispiel #29
0
from flask import Flask, render_template, url_for
import config  # 导入配置文件
from exts import db  # 导入db
from models import Action2019, Comedy2019, TOP100  # 导入模型

app = Flask(__name__)
app.config.from_object(config)  # 用于关联config文件
db.init_app(app)  # 初始化db

# 使用了flask-migrate库后,就不需要这样应用模型到数据库了,有专门的命令来执行
# 解决app上下文问题
# with app.app_context():
# 	db.create_all()


# 浏览器根据url后缀查找对应装饰器指定的路由,如果匹配,随即执行该装饰器紧挨着的业务函数,并由该函数
# 返回字符串或模板到前端页面渲染展示给用户看。
# flask路由系统默认只支持GET请求,如需支持POST,需添加参数methods进行指定
@app.route('/maoyan', methods=['GET', 'POST'])
def maoyan():
    # 新增数据
    # top100 = TOP100(top='1', title='霸王别姬', actor='张国荣,张丰毅,巩俐', release_time='1993-9-1', score='9.7',
    #                 img='http://234ssdkfj234lsdfl.png')
    # db.session.add(top100)
    # db.session.commit()

    # 查数据
    # top100 = TOP100.query.filter(TOP100.top == '1').first()  # 取出列表第一个元素
    # print(type(top100))
    # print(top100.top, top100.title, top100.actor, top100.release_time, top100.score)
Beispiel #30
0
from exts import db
import datetime
from decorators import login_required
from flask_ckeditor import CKEditor
from sqlalchemy import or_
from forms import RegisterForm, LoginForm, RichTextForm, ContentForm, EditForm
import config
import re

app = Flask(__name__)
app.config.from_object(config)
# 控制jinja2模板的空白
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
ckeditor = CKEditor(app)
db.init_app(app)  # 初始化app


@app.route('/')
def index():
    context = {'questions': Question.query.order_by('-create_time').all()}
    return render_template('index.html', **context)


@app.route('/index1')
def index1():
    context = {'questions': Question.query.order_by('-create_time').all()}
    return render_template('index1.html', **context)


@app.route('/login/', methods=['GET', 'POST'])
Beispiel #31
0
# encoding: utf-8
from flask import Flask, render_template, request, redirect, url_for, session
import config
from app.user_api.dao.models import UserDao
from exts import db
from app.user_api.controller.usercontroller import usercontroller
from app.policy_api.controller.policyController import policycontroller
from app.company_api.controller.companyController import companydtail
from app.demand_api.controller.demandController import demand

app = Flask(__name__)
app.config.from_object(config)

db.init_app(app) # 不能忘
app.register_blueprint(usercontroller)
app.register_blueprint(policycontroller)

app.register_blueprint(companydtail)
app.register_blueprint(demand)

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


@app.route('/index.html')
def index1():
    return render_template('index.html')


Beispiel #32
0
# coding: utf-8
from flask import Flask
import config
from exts import db

from app.front import bp as front_bp
# from app.cms import bp as cms_bp
from app.common import bp as common_bp


application = Flask(__name__)
application.config.from_object(config)

db.init_app(application)

application.register_blueprint(front_bp)
# app.register_blueprint(cms_bp)
application.register_blueprint(common_bp)


if __name__ == "__main__":
    application.run()
Beispiel #33
0
from flask import Flask, render_template, request, redirect, url_for, session
import config
from models import User, Question, Answer
from exts import db
from decorators import login_required

app = Flask(__name__)
app.config.from_object(config)
db.init_app(app)


@app.route('/')
def index():
    context = {
        'questions': reversed(Question.query.order_by('create_time',).all())
    }
    return render_template("index.html", **context)


@app.route('/login/', methods=["GET", "POST"])
def login():
    if request.method == "GET":
        return render_template("login.html")
    else:
        telephone = request.form.get("telephone")
        password = request.form.get("password")
        user = User.query.filter(User.telephone == telephone, User.password == password).first()
        if user:
            session['user_id'] = user.id
            session.permanent = True
            return redirect(url_for('index'))
Beispiel #34
0
def create_app():
    # flask初始化
    app = Flask(__name__)
    app.config.from_object('configs')
    db.init_app(app)
    return app