__init__.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: __init__.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-05-20 12:35:52 (CST)
  9. # Last Update:星期二 2016-6-14 23:20:15 (CST)
  10. # By:jianglin
  11. # Description:
  12. # **************************************************************************
  13. from flask import Flask, g
  14. from maple.extensions import (register_login, register_redis, register_mail)
  15. from maple.extensions import (register_form, register_babel, register_principal,
  16. register_jinja2, register_db, register_maple)
  17. from flask_login import current_user
  18. from flask_sqlalchemy import SQLAlchemy
  19. def create_app():
  20. app = Flask(__name__)
  21. app.config.from_object('config.config')
  22. return app
  23. def register(app):
  24. # register_db(db, app)
  25. register_form(app)
  26. register_principal(app)
  27. register_babel(app)
  28. register_jinja2(app)
  29. register_maple(app)
  30. register_routes(app)
  31. def register_routes(app):
  32. from maple.forums.views import site
  33. app.register_blueprint(site, url_prefix='')
  34. from maple.board.views import site
  35. app.register_blueprint(site, url_prefix='/<parent_b>')
  36. from maple.user.views import site
  37. app.register_blueprint(site, url_prefix='/u/<user_url>')
  38. from maple.topic.views import site
  39. app.register_blueprint(site, url_prefix='')
  40. from maple.mine.views import site
  41. app.register_blueprint(site, url_prefix='/user')
  42. from maple.setting.views import site
  43. app.register_blueprint(site, url_prefix='/setting')
  44. from maple.tag.views import site
  45. app.register_blueprint(site, url_prefix='/t')
  46. import maple.auth.auth
  47. import maple.admin.admin
  48. app = create_app()
  49. db = SQLAlchemy(app)
  50. mail = register_mail(app)
  51. login_manager = register_login(app)
  52. redis_data = register_redis(app)
  53. register(app)
  54. @app.before_request
  55. def before_request():
  56. from maple.forums.forms import SortForm
  57. g.user = current_user
  58. g.sort_form = SortForm()