main.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import time
  2. from datetime import datetime
  3. from fastapi import FastAPI,Form,Request
  4. from fastapi.templating import Jinja2Templates
  5. from pydantic import BaseModel
  6. import os, dataset, json
  7. app = FastAPI()
  8. directory=os.path.dirname(os.getcwd())
  9. templates = Jinja2Templates(directory)
  10. class booking_info(BaseModel):
  11. name:str
  12. phone:str
  13. loc:str
  14. course_name:str
  15. bookdate:str
  16. booktime:str
  17. @app.get("/")
  18. def read_root(request: Request):
  19. return templates.TemplateResponse("index.html",{"request": request})
  20. '''@app.post("/submitform")
  21. def formentry(booking: booking_info):
  22. db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/seo?charset=utf8mb4')
  23. request_table = db['booking_info']
  24. time_stamp = datetime.fromtimestamp(time.time())
  25. time_stamp = time_stamp.strftime("%Y-%m-%d %H:%M:%S")
  26. pk = request_table.insert(["name": booking.name, "phone": booking.phone, "loc": booking.loc, "course_name": booking.course_name, "date": booking.bookdate, "time": booking.booktime])
  27. return pk
  28. '''
  29. @app.post("/submitform")
  30. def formentry(name: str = Form(...), phone: str = Form(...), loc: str = Form(...), course_name: str = Form(...), date: str = Form(...), time: str = Form(...)):
  31. #reserved space for uploading to database
  32. return {"name": name, "phone": phone, "loc":loc, "course_name": course_name, "date": date, "time": time} #currently using this, will be modified once we deal with uploading