25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

48 satır
1.3KB

  1. import web
  2. from views.utils import get_nav_bar
  3. from views.guestbook import Guestbook
  4. from views.login import Login
  5. from views.logout import Logout
  6. from views.register import Register
  7. from views.admin import Admin
  8. # Define application routes
  9. urls = (
  10. '/', 'Index',
  11. '/login', 'Login',
  12. '/logout', 'Logout',
  13. '/register', 'Register',
  14. '/guestbook', 'Guestbook',
  15. '/admin', 'Admin',
  16. )
  17. # Initialize application using the web py framework
  18. app = web.application(urls, globals())
  19. # Get html templates
  20. render = web.template.render('templates/')
  21. # Workaround to use sessions with reloader (debugger) http://webpy.org/cookbook/session_with_reloader
  22. if web.config.get('_session') is None:
  23. session = web.session.Session(app, web.session.DiskStore("sessions"), initializer={"username": None})
  24. web.config._session = session
  25. else:
  26. session = web.config._session
  27. # Add session to global variables
  28. render._add_global(session, 'session')
  29. # Make the session available cross modules through webctx
  30. def session_hook():
  31. web.ctx.session = session
  32. web.template.Template.globals['session'] = session
  33. app.add_processor(web.loadhook(session_hook))
  34. class Index:
  35. # Get main page
  36. def GET(self):
  37. nav = get_nav_bar(session)
  38. return render.index(nav)