Using another function on modified dictionary
You overwrite inv with the return value of addToInventory

inv = addToInventory(inv, dragonLoot)


Yet add to inventory does not return anything. 
In order to first get your code to work, just return the inventory:

def addToInventory(inventory, addedItems):
    draft = {}
    for i in addedItems:
        if (i not in draft):
            draft[i]=1
        else:
            draft [i]= draft [i] + 1
    for i in draft:
        if i not in inventory:
            inventory[i]=draft[i]
        else:
            inventory[i] = inventory[i]+draft[i]
    return inventory


And then lets improve that function using the collections library such as:

from collections import Counter

def addToInventory(inv, loot):
    loot_counter = Counter(loot)
    return dict(loot_counter + Counter(inv))


Further, for the second displayInventory function, you iterate over dict.items(), yet you then try to use the item itself as an index. Instead iterate over dict.keys() and you will be fine: 

def displayInventory(inventory):
    print ("Inventory: ")
    total=0
    for i in inventory.keys():
        total+=1
        print (str(inventory[i])+" "+str(i))
    print("Total number of items is"+str(total))