Функция view выбрасывает исключение UnboundLocalError в /group/share/42/, когда пользователь пытается поделиться сообщением
Каким может быть ход этого исключения UnboundLocalError в /group/share/42/, когда я пытаюсь поделиться постом другого пользователя в группе.След исключения, кажется, находится в первой строке цикла forloop ( new = new_post.video.add(img) ). Вот мое представление для пользователей, чтобы поделиться постом
def share_post(request, pk):
original_post = Post.objects.get(pk=pk)
form = ShareForm(request.POST)
if form.is_valid():
new_post = Post(
shared_body = request.POST.get('description'),
description = original_post.description,
username = original_post.username,
date_posted = original_post.date_posted,
shared_on = timezone.now(),
shared_user = request.user)
new_post.save()
for img in original_post.video:
shared = new_post.video.add(img)
shared.save()
return redirect('group:main',original_post.group.pk)
Вот моя модель Post.
new_post
будет присвоено значение только в том случае, если форма действительна, поэтому следует сделать отступ от цикла for
:
def share_post(request, pk):
original_post = Post.objects.get(pk=pk)
form = ShareForm(request.POST)
if form.is_valid():
new_post = Post(
shared_body = request.POST.get('description'),
description = original_post.description,
username = original_post.username,
date_posted = original_post.date_posted,
shared_on = timezone.now(),
shared_user = request.user
)
new_post.save()
for img in original_post.video:
new_post.video.add(img)
return redirect('group:main',original_post.group.pk)