urls.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: urls.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-07-15 18:40:33 (CST)
  9. # Last Update:星期五 2016-7-15 19:13:28 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from flask import Blueprint, g, abort
  14. from maple.forums.models import Board
  15. from .views import board
  16. site = Blueprint('board', __name__)
  17. @site.url_value_preprocessor
  18. def pull_url(endpoint, values):
  19. g.parent_b = values.pop('parent_b', None)
  20. board = Board.query.filter_by(parent_board=g.parent_b).first()
  21. if board is None:
  22. abort(404)
  23. @site.url_defaults
  24. def add_url(endpoint, values):
  25. if 'parent_b' in values or not g.parent_b:
  26. return
  27. values['parent_b'] = g.parent_b
  28. site.add_url_rule('', view_func=board, defaults={'child_b': None})
  29. site.add_url_rule('/<child_b>', view_func=board)