async def login_post( request: Request, username: str = fastapi.Form(...), password: str = fastapi.Form(...), ): """ Login handler """ return await ENDPOINT.on_post( request.state.session, username, password )
async def _post( username: str = fastapi.Form(None), password: str = fastapi.Form(None), email: str = fastapi.Form(None), ): return await endpoint.on_post( BASE_URL, session, username=username, password=password, email=email )
async def register_post( request: Request, username: str = fastapi.Form(...), email: str = fastapi.Form(...), password: str = fastapi.Form(...), confirm_password: str = fastapi.Form(None), ): """ Login handler """ base_url = request.url.scheme + '://' + request.url.netloc return await ENDPOINT.on_post(base_url, request.state.session, username=username, email=email, password=password, confirm_password=confirm_password)
async def submitGrade(studentId:int,studentName:str,subjectId:int,grade:str = fastapi.Form(None)): update = 'UPDATE grade SET 成绩 = ' + str(grade) + ' WHERE 学生ID =' + str(studentId) + ' AND 学科ID = ' + str(subjectId) + ';' rows = await databases.execute(query = update) print('--------------') print(rows) if (rows == 0): insert = 'INSERT INTO grade (学生ID,学科ID,成绩) VALUES (' + str(studentId) + ',' + str(subjectId) + ',' + str(grade) + ');' rows = await databases.execute(query = insert) # TODO: 跳转显示成绩单的页面 return RedirectResponse("/editGrade")
def as_param(cls, param): async def dep(**kw): return cls(**kw) dep.__signature__ = inspect.signature(dep).replace(parameters=[inspect.Parameter( field.alias, inspect.Parameter.POSITIONAL_ONLY, default = fastapi.Form(... if field.required else field.default), annotation = field.outer_type_ ) for field in cls.__fields__.values()]) return dep
async def _post(username: str = fastapi.Form(None), password: str = fastapi.Form(None)): return await endpoint.on_post(session, username, password)