views.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: views.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-06-25 00:50:56 (CST)
  9. # Last Update:星期六 2016-7-2 18:48:40 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from flask import (Blueprint, url_for, redirect, flash, send_from_directory)
  14. from flask_maple.forms import flash_errors
  15. from flask_login import login_required
  16. from maple import app
  17. from .forms import AvatarForm
  18. from .controls import UploadModel
  19. import os
  20. site = Blueprint('upload', __name__)
  21. @site.route('/avatar', methods=['POST'])
  22. @login_required
  23. def avatar():
  24. form = AvatarForm()
  25. if form.validate_on_submit():
  26. UploadModel.avatar(form)
  27. flash('上传成功', 'success')
  28. return redirect(url_for('setting.setting'))
  29. else:
  30. if form.errors:
  31. flash_errors(form)
  32. return redirect(url_for('setting.setting'))
  33. @site.route('/avatars/<filename>')
  34. def avatar_file(filename):
  35. avatar_path = os.path.join(app.static_folder, app.config['AVATAR_FOLDER'])
  36. if not os.path.exists(os.path.join(avatar_path, filename)):
  37. avatar_path = os.path.join(app.static_folder, 'images/')
  38. filename = 'Moo.png'
  39. return send_from_directory(avatar_path, filename)