def get_avatar(request): phone_number = request.GET['phone_number'] try: user_info = UserInfo.objects.get(phone_number=phone_number) except UserInfo.DoesNotExist: return util.exception_response(USER_NOT_EXIST) file_path = os.path.join(settings.AVATAR_PATH, user_info.avatar) try: file = open(file_path, 'rb') except FileNotFoundError: return util.exception_response(FILE_NOT_EXIST) return FileResponse(file)
def register(request): body = json.loads(request.body) user_info = UserInfo() user_info.user_name = body.get("user_name") user_info.password = body.get("password") user_info.phone_number = body.get("phone_number") exist = UserInfo.objects.filter(phone_number=user_info.phone_number) if len(exist) != 0: return util.exception_response(PHONE_NUMBER_EXIST) try: user_info.save() except ValueError or KeyError: print(traceback) return util.exception_response(REGISTER_FAIL) return util.success_response()
def get_photo(request): id = request.GET['id'] dynamic = Dynamic.objects.get(id=id) file_path = os.path.join(settings.PHOTO_PATH, dynamic.phone_number, dynamic.photo) try: file = open(file_path, 'rb') except FileNotFoundError: return util.exception_response(FILE_NOT_EXIST) return FileResponse(file)
def upload_avatar(request): phone_number = request.POST['phone_number'] avatar = request.FILES.get('avatar') kind = filetype.guess(avatar) if kind is None: return util.exception_response("") if kind.extension not in ['jpg', 'png', 'gif']: return util.exception_response(FILE_FORMAT_ERROR) fs = FileSystemStorage(location=settings.AVATAR_PATH) file_name = 'avatar.' + kind.extension new_name = fs.save(file_name, avatar) try: UserInfo.objects.get(phone_number=phone_number) UserInfo.objects.filter(phone_number=phone_number).update( avatar=new_name) except UserInfo.DoesNotExist: return util.exception_response(USER_NOT_EXIST) return util.success_response()
def login(request): body = json.loads(request.body) user_info = UserInfo() user_info.phone_number = body.get("phone_number") user_info.password = body.get("password") success = user_info.verify() if success: return util.success_response() else: return util.exception_response(LOGIN_FAIL)
def send(request): phone_number = request.POST['phone_number'] photo = request.FILES.get('photo') text = request.POST['text'] dynamic = Dynamic() if photo is not None: kind = filetype.guess(photo) if kind is None: return util.exception_response("") if kind.extension not in ['jpg', 'png', 'gif']: return util.exception_response(FILE_FORMAT_ERROR) file_path = os.path.join(settings.PHOTO_PATH, phone_number) fs = FileSystemStorage(location=file_path) file_name = 'photo.' + kind.extension new_name = fs.save(file_name, photo) dynamic.photo = new_name dynamic.phone_number = phone_number dynamic.text = text dynamic.save() return util.success_response()