Использование перенаправления формы Django HttpResponseRedirect

Другая причина может быть при использовании автоматизации, некоторое несоответствие младшей версии Office:

У меня есть устаревшее приложение VB5 + Access (которое я переписываю в Delphi и заменяю всю автоматизацию путаница с чистой генерацией OpenDocument), которая работала хорошо в некоторых системах и приводила к ошибке в других.

Эта ошибка возникла бы при создании электронной таблицы Excel и казалась безвредной (за исключением раздражения и, поскольку в десятки раз больше риска нажатия пользователем «Abort» в середине), как будто всегда нажимая «Ignore», все работало как ожидается.

В конце концов я обнаружил, что причина была в установке Office 97:

Ошибка отобразилась бы, если бы последовательность установки Office 97 была:

  • Установочный компакт-диск Office 97 SR0
  • применить исправление SR1
  • применить исправление SR2

, но не в том случае, если он был установлен вместе с:

  • установочный компакт-диск Office 97 SR1
  • применить исправление SR2

Выполнение удаления / переустановки с настройкой SR1 на затронутых системах решило проблему.

11
задан Community 23 May 2017 в 10:29
поделиться

2 ответа

Ваше представление с формой должно выглядеть примерно так:

def add(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            # do stuff & add to database
            my_file = FileField.objects.create()
             # use my_file.pk or whatever attribute of FileField your id is based on
            return HttpResponseRedirect('/files/%i/' % my_file.pk)
    else:
        form = UploadFileForm()

    return render_to_response('upload_file.html', {
        'form': form,
    })
10
ответ дан 3 December 2019 в 02:40
поделиться

У вас есть аргументы для обратного неверного в

return HttpResponseRedirect(reverse('/file/', args=[my_file.id]))

обратного принимает представление или имя или представление, а не URL.

Вы не говорите, что ваш Функция view вызывается для просмотра файла, но, допустим, она называется view , тогда приведенное выше должно быть

return HttpResponseRedirect(reverse('view', args=[my_file.id]))

или, возможно,

return HttpResponseRedirect(reverse(view, args=[my_file.id]))

В зависимости от того, что вы написали в urls.py

Вы можно назвать представления в urls.py и использовать эти имена вместо имен функций - см. дополнительные примеры в документации

Использование реверса - хорошая идея, если вам нравится перетасовать ваш urls.py вокруг - вы сможете изменить любой из путей, и все ваши представления будут продолжать работать.

20
ответ дан 3 December 2019 в 02:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: