Несвязанная локальная ошибка: локальная переменная 'files' упоминается перед присвоением
Входящая локальная ошибка: локальная переменная 'files' ссылается до присвоения Получаю ошибку выше: Пожалуйста, подскажите, где я ошибаюсь в этом коде. Я новичок в Django. И я пробовал много раз. В этом проекте я делаю загрузку нескольких файлов с помощью модельных форм. Пожалуйста, помогите мне решить эту проблему.
views.py:
У вас есть:
if request. method == 'POST':
...
files = request.FILES.getlist('file') #field name in model
...
return render(request,' user master/multiplefile.html',{'files': files})
files
существует только в том случае, если вы посылаете POST
запрос.
Вы можете сделать примерно следующее:
context = {<other context variables>}
if request.method == 'POST':
...
files = request.FILES.getlist('file') #field name in model
context['files'] = files
...
return render(request,' user master/multiplefile.html',context)
И вам также следует удалить пробелы из ваших путей.
используйте этот код:
def create_ to_ feed(request):
user = request. user
if request. method == 'POST':
form = Feed Model Form(request .POST)
file_ form = File Model Form(request. POST, request. FILES)
files = request. FILES. get list('file') #field name in model
if form.is_ valid() and file_ form.is_ valid():
feed_ instance = form. save(commit=False)
feed_ instance. user = user
feed_ instance. save()
for f in files:
file_ instance = Feed File(file=f, feed=feed_ instance)
file_ instance.save()
return render(request,' user master/multiplefile.html',{'form': form, 'file_ form': file_ form, 'files': files, 'user': user})
else:
form = Feed.Model.Form()
file_form = File.Model.Form()
return render(request,' user master/multiplefile.html',{'form': form, 'file_ form': file_ form, 'user': user})
Потому что вы определили переменную 'files' в условное выражение, и если это условное выражение неверно, код не будет работать правильно.