Несвязанная локальная ошибка: локальная переменная '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' в условное выражение, и если это условное выражение неверно, код не будет работать правильно.

Вернуться на верх