Exemplo n.º 1
0
def postTodos():
    # get body
    body = request.get_json()
    # instancia modelo Todos y se inicializa con el valor del body
    todo = Todos(body["label"], body["is_done"])
    # guardar task en base datos
    todo.save()
    return jsonify(todo.serialize()), 200
Exemplo n.º 2
0
def todos(request, todo_id=None):
    """
    GET: return all the Todos
    POST: create a new todo
    """
    if request.method == 'GET':
        if todo_id:
            # find the specific todo and return it
            todo = Todos.objects.get(id=todo_id)
            return HttpResponse(status=200, content=jsonifyTodo(todo), mimetype='application/json')
        
        else:
            todos = Todos.objects.all()
            ret_data = []
            for todo in todos:
                pretty_todo(todo)
                ret_data.append({
                    'id': todo.id,
                    'title': todo.title,
                    'completed': todo.completed
                })

            return HttpResponse(json.dumps(ret_data), mimetype='application/json')
    
    elif request.method == 'POST':
        # create a new todo
        data = json.loads(request.body)
        new_todo = Todos()
        new_todo.title = data['title']
        new_todo.completed = ugly_completed(data['completed'])
        new_todo.save()

        return HttpResponse(status=201, content=jsonifyTodo(new_todo))


    elif request.method == 'PUT':
        # mark the todo as completed
        data = json.loads(request.body)
        todo = Todos.objects.get(id=todo_id)
        todo.completed = ugly_completed(data['completed'])
        todo.save()

        return HttpResponse(status=200, content=jsonifyTodo(todo))


    elif request.method == 'DELETE':
        # delete the todo
        todo = Todos.objects.get(id=todo_id)
        todo.delete()

        return HttpResponse(status=204)