Advertisement
Guest User

Untitled

a guest
Oct 24th, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. from flask import Flask
  2.  
  3. import pkgutil
  4. import sys
  5.  
  6. app = Flask(__name__)
  7.  
  8. EXTENSIONS_DIR = "extensions"
  9. modules = pkgutil.iter_modules(path=[EXTENSIONS_DIR])
  10. for loader, mod_name, ispkg in modules:
  11. if mod_name not in sys.modules:
  12. # It imports fine
  13. loaded_mod = __import__(EXTENSIONS_DIR+"."+mod_name+"."+mod_name, fromlist=[mod_name])
  14. # It does not register
  15. app.register_blueprint(loaded_mod)
  16.  
  17. /root
  18. /extensions
  19. /extension1
  20. __init__.py
  21. extension1.py
  22. /extension2
  23. __init__.py
  24. extension2.py
  25. simple_example.py
  26.  
  27. >python simple_example.py
  28. Traceback (most recent call last):
  29. File "simple_example.py", line 14, in <module>
  30. app.register_blueprint(loaded_mod)
  31. File "C:Python27libsite-packagesflaskapp.py", line 62, in wrapper_func
  32. return f(self, *args, **kwargs)
  33. File "C:Python27libsite-packagesflaskapp.py", line 880, in register_blueprint
  34. if blueprint.name in self.blueprints:
  35. AttributeError: 'module' object has no attribute 'name'
  36.  
  37. from flask import Blueprint
  38.  
  39. extension1 = Blueprint('extension1', __name__)
  40.  
  41. @extension1.route("/my_route")
  42. def treasure_list():
  43. return "list of objects"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement