urls.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 19:23:48 (CST)
  9. # Last Update:星期日 2016-7-24 14:10:2 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from flask import Blueprint, abort, g
  14. from maple.user.models import User
  15. from maple.forums.forms import MessageForm
  16. from .views import user, topic, reply, collect, following, follower,collect_detail
  17. site = Blueprint('user', __name__)
  18. @site.before_request
  19. def before():
  20. g.message_form = MessageForm()
  21. @site.url_value_preprocessor
  22. def pull_user_url(endpoint, values):
  23. g.user_url = values.pop('user_url')
  24. user = User.query.filter_by(username=g.user_url).first()
  25. if user is None:
  26. abort(404)
  27. @site.url_defaults
  28. def add_user_url(endpoint, values):
  29. if 'user_url' in values or not g.user_url:
  30. return
  31. values['user_url'] = g.user_url
  32. site.add_url_rule('', view_func=user)
  33. site.add_url_rule('/topics', view_func=topic)
  34. site.add_url_rule('/replies', view_func=reply)
  35. site.add_url_rule('/collects', view_func=collect)
  36. site.add_url_rule('/collects/<int:collectId>', view_func=collect_detail)
  37. site.add_url_rule('/following', view_func=following)
  38. site.add_url_rule('/followers', view_func=follower)