If you mean shorter, then:
def iterative(n):
    return sum(i * (i + 1) ** 2 for i in range(1, n + 1))
print(iterative(10))
made some efficiency testing with all the answers here:
def iterative1(n):
    return sum(i * (i + 1) ** 2 for i in range(1, n + 1))
def iterative2(n):
    sum = 0
    for i in range(1, n + 1):
        form = i * (i + 1) ** 2
        sum = sum + form
    return (sum)
def iterative3(n):
    return sum(map(lambda i: i*(i+1)**2, range(1,n+1)))
import time
x = time.time()
print(iterative1(10000000))
print( time.time() - x) # 5.313434600830078
x =  time.time()
print(iterative2(10000000))
print(time.time() - x) # 5.021821975708008
x =  time.time()
print(iterative3(10000000))
print(time.time() - x) # 5.61063551902771
seems like your is the fastest(but less readable IMO)