Вы инициализируете choice_list как пустой список вместо загрузки его из сеанса
choice_list = []
Замените его на:
choice_list = request.session.get('choices', [])
Теперь ваша новая функция должна быть
def my_choices(request, cid): # when user is making the choices
clg = college.objects.all()
title = "Choice Filling"
page = "Choice Filling"
stud = student.objects.get(id=request.session['id'])
clgid = college.objects.get(id=cid)
# get choice list from your session
choice_list = request.session.get('choices', [])
if stud.isactive != 1:
messages.error(request, "Your registration process is incomplete.")
else:
choice_list.insert(len(choice_list), clgid.name)
print(choice_list)
request.session['choices'] = choice_list
# the next line shouldn't be required, but if the code still doesnt work, uncomment it
# request.session.modified = True
return render(request, 'college_list.html', {'cid': cid, 'clg': clg, 'title': title,
'choice':choice_list})
Кроме того, если вам, возможно, придется сообщить django, что сеанс был изменен. Поместите этот код перед возвратом вашего представления (или после редактирования сеанса)
request.session.modified = True