Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

65 wiersze
1.5KB

  1. import web
  2. from web import form
  3. # Turn of debug because sessions doesnt support it
  4. web.config.debug = False
  5. # Define routes
  6. urls = (
  7. '/', 'application',
  8. "/logout", "logout",
  9. )
  10. # Initialize application using the web py framework
  11. app = web.application(urls, globals())
  12. # Enable sessions
  13. session = web.session.Session(app, web.session.DiskStore("sessions"), initializer={"username": None})
  14. # Get html templates
  15. render = web.template.render('templates/')
  16. render._add_global(session, 'session')
  17. # Connect to database
  18. db = web.database(
  19. dbn="mysql",
  20. host='127.0.0.1',
  21. port=3306,
  22. user='root',
  23. #pw='password',
  24. db='db'
  25. )
  26. class application():
  27. login_form = form.Form(
  28. form.Textbox("username", description="Username"),
  29. form.Password("password", description="Password"),
  30. form.Button("submit", type="submit", description="Login"),
  31. )
  32. def GET(self):
  33. friends = db.select('users')
  34. return render.index(self.login_form, friends)
  35. def POST(self):
  36. friends = db.select('users')
  37. data = web.input()
  38. print("name:", data.username)
  39. for row in friends:
  40. print(row)
  41. print(row.username)
  42. if data.username == row.username and data.password == row.password:
  43. friends = db.select('users')
  44. session.username = data.username
  45. return render.index(self.login_form, friends)
  46. class logout:
  47. def GET(self):
  48. session.kill()
  49. return "Logged out"
  50. if __name__ == "__main__":
  51. app.run()