예제 #1
0
def get_user(request):
    """
    获取抽奖用户
    """
    if request.method == "GET":
        user_info = {"id": 1, "name": "张三"}
        return response(10200, data=user_info)
    else:
        return response(10101, "request method error")
예제 #2
0
def user_login_data(request):
    """
    通过Session读取用户数据
    """
    username = request.session.get('user', '') # 读取浏览器 session
    if username == "":
        return response(10200, 'hello, stranger')
    else:
        return response(10200, 'hello, {}'.format(username))
예제 #3
0
def get_activity(request):
    """
    获取抽奖活动
    :return:
    """
    if request.method == "GET":
        activity_info = {"id": 1, "name": "618抽奖活动"}
        return response(10200, data=activity_info)
    else:
        return response(10101, "request method error")
예제 #4
0
def user(request, uid):
    """
    RESTful 风格的接口实现
    实现用户的查询、添加、更新和删除
    /event/1/  = GET
    /event/2/  = POST
    /event/1/  = PUT
    /event/1/  = DELETE
    :param request:
    :param uid:
    :return:
    """
    if request.method == "GET":
        try:
            user = User.objects.get(id=uid)
        except User.DoesNotExist:
            return response(10101, message="用户信息不存在")
        else:
            user_info = model_to_dict(user)
            return response(10200, data=user_info)

    elif request.method == "POST":
        post = json.loads(request.body)
        name = post.get("name")
        age = post.get("age")
        try:
            User.objects.get(id=uid)
        except User.DoesNotExist:
            user = User.objects.create(id=uid, name=name, age=age)
            user_info = model_to_dict(user)
            return response(10200, "add success", user_info)
        else:
            return response(10102, "用户id已存在")

    elif request.method == "PUT":
        put = json.loads(request.body)
        name = put.get("name")
        age = put.get("age")
        try:
            user = User.objects.get(id=uid)
        except User.DoesNotExist:
            return response(10101, "用户信息不存在")
        else:
            user.name = name
            user.age = age
            user.save()
            user_info = model_to_dict(user)
            return response(10200, "update success", user_info)

    elif request.method == "DELETE":
        try:
            user = User.objects.get(id=uid)
        except User.DoesNotExist:
            return response(10101, "用户信息不存在")
        else:
            user.delete()
            return response(10200, "delete success")
    else:
        return response(10101, "request method error")
예제 #5
0
def post_header(request):
    """
    请求方法:POST
    带请求提头:Header
    """
    if request.method == 'POST':
        token = request.headers.get("token")
        ct = request.headers.get("Content-Type")
        return response(10200, "header ok!", {"token": token, "Content-Type": ct})
    else:
        return response(10101, "request method error")
예제 #6
0
def get_user_info(request, uid):
    """
    根据用户id返回数据
    """
    if request.method == "GET":
        user_info = {"id": 1, "name": "tom", "age": 22}
        if uid != 1:
            return response(10101, "user id null")
        else:
            return response(10200, data=user_info)
    else:
        return response(10101, "request method error")
예제 #7
0
def search(request):
    """
    一般GET请求
    """
    if request.method == "GET":
        search_word = request.GET["q"]
        if search_word == "selenium":
            data_list = ["selenium教程", "seleniumhq.org", "selenium环境安装"]
        else:
            data_list = []
        return response(10200, data=data_list)
    else:
        return response(10101, "request method error")
예제 #8
0
def upload_file(request):
    """
    文件上传
    """
    if request.method == "POST":
        my_file = request.FILES.get("file", None)
        if not my_file:
            return response(10101, "no files for upload!")
        destination = open(os.path.join(BASE_DIR, "api/upload", my_file.name), 'wb+')
        for chunk in my_file.chunks():
            destination.write(chunk)
        destination.close()
        return response(10200, "upload success!")
예제 #9
0
def user_login(request):
    """
    通过Session 记录登录状态
    """
    if request.method == "POST":
        login_username = request.POST.get("username")
        login_password = request.POST.get("password")
        if login_username == '' or login_password == '':
            return response(10102, "username or password null")
        else:
            user = auth.authenticate(username=login_username, password=login_password)
            if user is not None:
                auth.login(request, user)
                # 将 session 信息记录到浏览器
                request.session['user'] = login_username
                return response(10200, "login success")
            else:
                return response(10103, "username or password error")
    else:
        return response(10101, "request method error")
예제 #10
0
def post_add_user(request):
    """
    请求方法:POST
    参数类型:JSON
    """
    if request.method == "POST":
        try:
            data = json.loads(request.body)
        except json.decoder.JSONDecodeError:
            return response(10105, "format error")

        try:
            name = data["name"]
            age = data["age"]
            height = data["height"]
        except KeyError:
            return response(10102, "key null")
        else:
            if name == "":
                return response(10103, "name null")
            elif name == "tom":
                return response(10104, "name exist")
            else:
                data = {"name": name, "age": age, "height": height}
                return response(10200, "add successful", data)
    else:
        return response(10101, "request method error")
예제 #11
0
def get_lucky_number(request):
    """
    获取抽奖号码
    """
    if request.method == "POST":
        activity_id = request.form.get('aid')
        user_id = request.form.get('uid')

        if activity_id is None or user_id is None:
            return response(10102, "username or password is None")

        elif activity_id == "" or user_id == "":
            return response(1010103, "username or password is null")

        if int(activity_id) != 1:
            return response(10104, "activity id exist")

        if int(user_id) != 1:
            return response(10105, "user id not exist")

        number = randint(10000, 99999)
        return response(10200, "Lucky draw number", number)

    else:
        return response(10101, "request method error")
예제 #12
0
def post_login(request):
    """
    请求方法:POST
    参数类型:from-data/x-www-from-urlencode
    """
    if request.method == "POST":
        username = request.POST('username')
        password = request.POST('password')

        if username is None or password is None:
            return response(10102, "username or passwrord is None")

        elif username == "" or password == "":
            return response(10103, "username or passwrord is null")

        elif username == "admin" and password == "a123456":
            return response(10200, "login success")

        else:
            return response(10104, "username or password error")
    else:
        return response(10101, "request method error")
예제 #13
0
def user(request, username):
    """
    通过 URI 传参
    """
    msg = "hello, {}".format(username)
    return response(10200, msg)
예제 #14
0
def hello_world(request):
    """
    最简单的get请求,返回json格式返回
    """
    return response(10200, "Welcome to API testing")