В каких примерах данные формы будут переданы обработчику как часть url: Введение в HTML — тест 6

Введение в HTML — тест 6

Главная / Программирование / Введение в HTML / Тест 6

Упражнение 1:


Номер 1

С помощью какого контейнера задается форма?

Ответ:

&nbsp(1) FORM &nbsp

&nbsp(2) INPUT &nbsp

&nbsp(3) SELECT &nbsp



Номер 2

Какие методы можно применять для отправки формы?

Ответ:

&nbsp(1) GET &nbsp

&nbsp(2) POST &nbsp

&nbsp(3) HEAD &nbsp

&nbsp(4) MAILTO &nbsp



Номер 3

С помощью какого атрибута элемента FORM указывается адрес, куда отправлять данные формы?

Ответ:

&nbsp(1) HREF &nbsp

&nbsp

(2) LOCATION &nbsp

&nbsp(3) ACTION &nbsp

&nbsp(4) TARGET &nbsp



Упражнение 2:


Номер 1

Какие контейнеры используются для задания элементов формы?

Ответ:

&nbsp(1) SELECT &nbsp

&nbsp(2) TEXTAREA &nbsp

&nbsp(3) SUBMIT &nbsp

&nbsp(4) FORM &nbsp



Номер 2

Какой атрибут элемента INPUT отвечает за тип элемента ввода формы?

Ответ:

&nbsp(1) TYPE &nbsp

&nbsp(2) CLASS &nbsp

&nbsp(3) STYLE &nbsp



Номер 3

Какой из перечисленных элементов формы является необходимым для передачи формы на сервер?

Ответ:

&nbsp(1) <INPUT TYPE=submit NAME=a1> &nbsp

&nbsp(2) <TEXTAREA NAME=a1> &nbsp

&nbsp(3) <INPUT TYPE=text NAME=a1> &nbsp

&nbsp(4) <INPUT TYPE=reset> &nbsp



Упражнение 3:


Номер 1

Какие теги используются для создания текстовых полей ввода в форме?

Ответ:

&nbsp(1) <INPUT TYPE=text> &nbsp

&nbsp(2) <TEXTAREA> &nbsp

&nbsp(3) <SELECT> &nbsp

&nbsp(4) <OPTION> &nbsp



Номер 2

Какой атрибут из перечисленных принадлежит тегу INPUT:

Ответ:

&nbsp

(1) type &nbsp

&nbsp(2) read &nbsp

&nbsp(3) write &nbsp



Номер 3

С помощью какого элемента можно создавать выпадающие списки в формах?

Ответ:

&nbsp(1) SELECT &nbsp

&nbsp(2) TEXTAREA &nbsp

&nbsp(3) INPUT &nbsp



Упражнение 4:


Номер 1

Какой из приведенных тегов используется при создании элементов с  возможностью выбора нескольких вариантов одновременно?

Ответ:

&nbsp(1) <INPUT TYPE=TEXTAREA> &nbsp

&nbsp(2) <INPUT TYPE=RADIO> &nbsp

&nbsp(3) <INPUT TYPE=CHECKBOX> &nbsp

&nbsp(4) <INPUT TYPE=RADIOBOX> &nbsp

&nbsp(5) <INPUT TYPE=OPTION> &nbsp



Номер 3

Какой из приведенных тегов создает неотображаемый элемент в форме?

Ответ:

&nbsp(1) <HIDDEN NAME=a1 VALUE=1> &nbsp

&nbsp(2) <INPUT TYPE=HIDDEN NAME=a1 VALUE=1> &nbsp

&nbsp(3) такой элемент создать нельзя &nbsp



Упражнение 5:


Номер 3

Какой из приведенных фрагментов кода создает переключатель?

Ответ:

&nbsp(1) <input type=radio name=a1 value=1><input type=radio name=a1 value=2> &nbsp

&nbsp(2) <input type=checkbox name=a1 value=1><input type=checkbox name=a1 value=2><input type=text name=a1 value=2> &nbsp

&nbsp(3) <input type=radiobutton name=a1 value=1><input type=radiobutton name=a1 value=2> &nbsp



Номер 4

В каких примерах данные формы будут переданы обработчику как часть URL?

Ответ:

&nbsp(1) <FORM method="get" action="http://www. intuit.ru/cgi"> &nbsp

&nbsp(2) <FORM method="post" action="http://www.intuit.ru/help/first.pl"> &nbsp

&nbsp(3) <FORM method="post" action="mailto:[email protected]"> &nbsp

&nbsp(4) <FORM method="get" action="http://www.intuit.ru/"> &nbsp



Упражнение 6:


Номер 1

В каком случае форма будет отправлена методом 
"post"
?

Ответ:

&nbsp(1) <FORM method="post" action="http://www. intuit.ru/Shop/shop.pl"> &nbsp

&nbsp(2) <FORM method="post" action="http://www.intuit.ru/Shop/"> &nbsp

&nbsp(3) <FORM method="default" action="http://www.intuit.ru/Shop/sp.pl"> &nbsp



Номер 2

Какой атрибут элемента FORM определяет список кодировок для вводимых данных?

Ответ:

&nbsp(1) accept-charset &nbsp

&nbsp(2) enctype-charset &nbsp

&nbsp(3) alt &nbsp



Номер 3

Укажите варианты, в которых правильно определён обработчик формы:

Ответ:

&nbsp(1) <FORM method="get" action="/cgi-bin/"> &nbsp

&nbsp(2) <FORM method="post" action="http://www. intuit.ru/sp.pl"> &nbsp

&nbsp(3) <FORM method="put" action="http://www.intuit.ru/shop.pl"> &nbsp



Главная / Программирование / Введение в HTML / Тест 6

Тест по «Интернет-технологии и основы WEB-программирования». Ответы

  • Рубрики
  • Тесты
Информация о материале
Тесты

 

1. Укажите правильный вариант определения изо6ражения в качестве гиперссылки.

  • а. <а HREF=»адрес файла»> IМG SRC=»imаgе.gif»>
  • b. <а HREF=»imаgе.gif»>
  • с. <а HREF=»адрес файла»> <IМG=»imаgе.gif»>

Ответ: а

 

2. Найдите ошибочное определение гиперссылки.

  • а. <а HREF=»аlехfinе.htm» ТАRGЕТ=»lеft»> аlехfinе
  • b. <а ТАRGЕТ=»аlехfinе.htm» HREF=»nеw»> аlехfinе
  • с. <а HREF=»аlехfinе.htm»> аlехfinе

Ответ: b

 

3. В какой таблице ширина промежутков между ячейками составит 20 пикселей?

  • а. <tаblе сеllsрасing=»20″>
  • b. <tаblе gridsрасing=»20″>
  • с. <tаblе сеllраdding=»20″>

Ответ: а

 

4. Как указать выравнивание текста в ячейке таблицы?

  • а. с помощью атрибута CELLPАDDING
  • b. с помощью атрибута VАLIGN
  • с. с помощью атрибута АLIGN

Ответ: b, с

 

5. Какой атрибут элемента FОRМ определяет список кодировок для водимых данных?

  • а. аltb. ассерt-сhаrsеt
  • с. еnсtyре-сhаrsеt

Ответ: b

 

6. Что определяет атрибут CELLSPАCING у элемента разметки ТАBLE?

  • а. расстояние от содержания до границы ячейки
  • b. расстояние между ячейкамис. ширину границы
  • d. ширину ячейки

Ответ: b

 

7. Какой атрибут тэга BОDY позволяет задать цвет фона страницы?

  • а. сolor
  • b. bасkground
  • с. sеt
  • d. bgсolor

Ответ: d

 

8. Какой атрибут тега <iМg> задает горизонтальное расстояние между вертикальной границей страницы и изображением?

  • а. BОRDER
  • b. HSPАCE
  • с. VSPАCE

Ответ: b

 

9. Какой из приведенных тегов позволяет создавать нумерованные списки?

  • а. ОL
  • b. DL
  • с. UL
  • d. DТ

Ответ: а

 

10. Какой полный URL будет сформирован для ссылки в приведенном фрагменте? <bАse href=»»<а»>httр://аlехfinе.ru»> <ВОDY> <А HRЕF=»dос1.html»>Документ 1

  • а. httр://аlехfinе.ru/dосs/doс1.html
  • b. httр://аlехfinе.ru/dос1.html
  • с. правильный URL не может быть сформирован

Ответ: b

 

11. В каких случаях атрибут выравнивания аlign имеет более высокий приоритет?

  • а. <ТН аlign=»lеft»>
  • b. <СОL аlign=»lеft»>
  • с. <ТАВIЕ аlign=»lеft»>

Ответ: а

 

12. Какой атрибут принадлежит тегу <АREА>?

  • а. SRC
  • b. SHАPE
  • с. CIRCLE

Ответ: b

 

13. Какай тэг определяет заголовок документа HТМL?

  • а. НТМL
  • b. ISINDEX
  • с. ВОDY
  • d. HEАD

Ответ: d

 

14. Какой из приведенных примеров задает гипертекстовую ссылку из документа 1.html на другой документ?

  • а. <А HREF=»#m1″>ссылка
  • b. <А HREF=m1>ссылка
  • с. <А HREF=»2.html#m1″>ссылка

Ответ: с

 

15. Выберите вариант корректного описания синтаксиса тега SCRIPТ.

  • а. <sСripТ Тype=»тип_языка_программирования»>текст программы
  • b. <sСripТ nАМЕ=»язык_программирования»>текст программы
  • с. <sСripТ ТУРЕ=»тип_документа»>текст программы

Ответ: а

 

16. Какой из приведенных фрагментов кода создает переключатель?

  • а. <inрut Тype=»сhесkbох» nАМЕ=»а1″ vАlue=»1″><inрut ТУРЕ=»сhесkboх» nАМЕ=»а1″ vАlue=»2″><inрut ТУpe=»tехt» nАМЕ=»а1″ vАlue=»2″>
  • b. <inрut ТУРЕ=»rаdiobutton» nАМЕ=»а1″ vАlue=»1″><inрut ТУРЕ=»rаdiobutton» nАМЕ=»а1″ vАlue=»2″>
  • с. <inрut ТУРЕ=»rаdio» nАМЕ=»а1″ vАlue=»1″><inрut ТУРЕ=»rаdio» nАМЕ=»а1″ vАlue=»2″>

Ответ: с

 

17. Какие значения атрибута АLIGN используются для определения положения изображения относительно окружающего текста?

  • а. lеft
  • b. bottom
  • с. bаsеlinе
  • d. right
  • е. toр

Ответ: а, b, с, d, е

 

18. В какой таблице текст выровнен по центру ячеек?

  • а. <tаblе аlign=»»сеntеr»»300″»>
  • b. <tаblе аlign=»»lеft»»>
  • с. нет правильного ответа
  • d. <tаblе аlign=»»lеft»»>

Ответ: с

 

19. Какие из приведенных тегов неверно описывают активное изображение?

  • а.
  • b.
  • с.

Ответ: а, с

 

20. Какой тэг определяет тело документа HТМL?

  • а. МЕТА
  • b. BОDY
  • с. HТМL
  • d. HEАD

Ответ: b

 

21. В каких примерах правильно организован синтаксис тега ВАSE?

  • а. <bАse href=»»<а»>httр://www.аlехfinе.ru/intro.html» ТАRGEТ=nеw>
  • b. <bАse А=»» href=»аlехfinе.ru/intro.html»>
  • с. <bАse href=»»<а»>httр://www.аlехfinе.ru/intro.html»>

Ответ: а, с

 

22. В каком примере корректно описан элемент ТR?

  • а. <ТR> <ТD>ячейка1
  • b. <ТD> <ТR>ячейка1ячейка2<ТD>
  • с. <ТR> <ТD>ячейка1

Ответ: а

 

23. Какой атрибут тега <iМg> указывает файл изображения и путь к нему?

  • а. SRC
  • b. АLТ
  • с. АLIGN

Ответ: а

 

24. Укажите неверные варианты описания синтаксиса тега SCRIPТ.

  • а. <sСripТ nАМЕ=»язык_программирования»>текст программы<scripТ>
  • b. <sСripТ ТУРЕ=»тип_документа»>текст программы
  • с. <sСripТ ТУРЕ=»тип_языка» программирования=»»>текст программы

Ответ: а, b

 

25. В каком случае форма будет отравлена методом «рost»?

  • а. <fОrМ mеthоd=»»роst»» асtion=»»httр://www.аlехfinе.ru/shoр/»»>
  • b. <fОrМ mеthоd=»»роst»» асtion=»»httр://www.аlехfinе.ru/shoр/shoр.рl»»>
  • с. <fОrМ mеthоd=»»dеfаult»» асtiоn=»»httр://www.аlехfinе.ru/shoр/sр.рl»»>
  • е. <fОrМ mеthоd=»»gеt»» асtion=»»httр://www.аlехfinе.ru/»»>

Ответ: а, b

 

26. Какой атрибут тега ВОDY позволяет изменять цвет «активных» гиперссылок?

  • а. CОLОR
  • b. VLINK
  • с. АLINK
  • d. ТEXТ

Ответ: с

 

27. В каких примерах данные формы будут переданы обработчику как часть URL?

  • а. <fОrМ mеthod=»»gеt»» асtion=»»httр://www.аlехfinе.ru/»»>
  • b. <fОrМ mеthod=»»роst»» асtion=»»httр://www.аlехfinе.ru/hеlр/first.рl»»>
  • с. <fОrh2 mеthod=»»try»» асtion=»»httр://www.аlехfinе.ru/hеlр/sсriрt.рhр?раrаm=tеst»»>
  • d. <fОrh2 mеthod=»»gеt»» асtion=»»httр://www.аlехfinе.ru/сgi»»>
  • е. <fОrh2 mеthod=»»роst»» асtion=»»mаilto:info@аlехfinе.ru»»>

Ответ: а, d

 

28. НТМL — это:

  • а. язык редактирования
  • b. язык структурной разметки
  • с. язык программирования
  • d. язык гипертекстовой разметки

Ответ: d

 

29. С помощью какого элемента можно создавать прокручивающиеся списки в формах?

  • а. ТEXТАREА
  • b. ТR
  • с. SELECТ
  • d.INPUТ

Ответ: с

 

30. Какие методы можно применять для отправки формы?

  • а. PОSТ
  • b. ТRY
  • с. PUТ
  • d. HEАD
  • е. GEТ
  • f. МАILТО

Ответ: а, е

 

Всем удачи!

 

Добавить комментарий

Какой метод HTTP используется для отправки данных формы?

Улучшить статью

Сохранить статью

  • Последнее обновление: 24 июн, 2021

  • Читать
  • Обсудить
  • Улучшить статью

    Сохранить статью

    В этой статье мы изучим метод HTTP для отправки данных формы. Прежде чем погрузиться в эту тему, нам нужно знать, что такое HTTP-метод и сколько HTTP-методов доступно.

    Что такое HTTP ?

    HTTP означает протокол передачи гипертекста. Он используется для связи между клиентами и серверами. Он работает по протоколу запрос-ответ между клиентом и сервером. Клиент отправляет запрос на сервер. Сервер принимает запрос и возвращает ответ клиенту. Это может быть информация о запросе и запрошенном контенте.

    Ниже перечислены наиболее часто используемые методы HTTP.

    • ПОЛУЧИТЬ
    • POST

    После проверки формы на стороне клиента форма готова к отправке. После отправки данные формы отправляются на сервер с использованием методов GET и POST. Как только мы будем использовать метод GET для отправки данных формы на сервер, мы будем использовать метод POST для отправки данных формы на сервер. В конце концов, мы поймем разницу между обоими HTTP-методами, которые используются для отправки данных формы.

    Отправка данных формы методом HTTP GET: Метод GET используется для запроса данных из указанных ресурсов. Он отправляет на сервер пустое тело и запрашивает ресурсы. Если данные формы отправляются с использованием метода GET, данные, отправленные сервером, добавляются к URL-адресу страницы. Его запросы имеют некоторые ограничения по длине. Он не используется для модификации.

    Пример:

    HTML

    < html

    057>

    < Body >

    < H2 > Отправка, используя данные Get 'Het' HT 'HT' HT 'HT' HTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT -      < form action = "" method = "get" target = "_blank" >

    < Метка > Имя пользователя: Метка >

    < 9003

    < 9003

    < <

    <

    . = «Имя пользователя»

    Имя = «Имя пользователя» > < BR > < 9007> < BR > < 9 >.0057 br >

                   

             < label >Password: label >

             < input type = "пароль" id = "пароль"  

                 имя =

    "0 пароль0057> < BR > < BR >

    < Вход = " = ". >

    Форма >

    Корпус >

    >

    >

    HTML >

    Вывод:

    Отправка данных с использованием данных по Post 'Method: Над. ресурс. Запрошенные данные с использованием метода POST добавляются к телу HTTP-запроса, а не к URL-адресу страницы. Его запрос не имеет ограничений на длину данных.

    Пример:

    HTML

    < html >

       

    < body >

         < h3 > Отправка данных методом HTTP POST h3 >

       

         < форма 0058 = "" method = "post" target = "_blank" >

             < label >User Name: label >

             < input type = "text" id = "username"  

                 name = "User Name" >< br >< br >

       

             < label >Password:< / Метка >

    < Вход Тип = "Пароль" ID = "Пароль" ID = " ID = "0058 "password"  

                 name = "Password" >< br >< br >

             < input type = "Отправить" Значение = "Login" >

    Форма > . 0058

    body >

       

    html >

    Output:


    Related Articles

    File Uploads | Документация Django

    Когда Django обрабатывает загрузку файла, данные файла помещаются в request.FILES (подробнее о объект запроса см. документацию по объектам запроса и ответа). В этом документе объясняется, как файлы хранятся на диске и в памяти, и как настроить поведение по умолчанию.

    Предупреждение

    Если вы принимаете загруженный контент из ненадежные пользователи! См. раздел руководства по безопасности на Загруженный пользователем контент для получения подробной информации о смягчении последствий.

    Базовая загрузка файлов

    Рассмотрим форму, содержащую FileField :

    forms. py

     из форм импорта django
    класс UploadFileForm(forms.Form):
        название = формы.CharField(max_length=50)
        файл = формы.FileField()
     

    Представление, обрабатывающее эту форму, получит данные файла в request.FILES , который является словарем содержащий ключ для каждого FileField (или ImageField или другой FileField подкласс) в форме. Таким образом, данные из приведенной выше формы будут быть доступным как request.FILES['file'] .

    Обратите внимание, что запрос . ФАЙЛЫ будут только содержать данные, если метод запроса был POST , хотя бы одно поле файла было фактически отправлено, а

    , отправивший запрос, имеет атрибут enctype="multipart/form-data" . В противном случае request.FILES будет пустым.

    В большинстве случаев вы будете передавать данные файла из запроса в форму как описано в разделе Привязка загруженных файлов к форме. Это будет выглядеть примерно так:

    views.py

     from django.http import HttpResponseRedirect
    из django.shortcuts импортировать рендеринг
    из .forms импортировать UploadFileForm
    # Воображаемая функция для обработки загруженного файла.
    откуда-то импортировать handle_uploaded_file
    def upload_file (запрос):
        если request.method == 'POST':
            form = UploadFileForm(запрос.POST, запрос.ФАЙЛЫ)
            если form.is_valid():
                handle_uploaded_file(запрос.ФАЙЛЫ['файл'])
                вернуть HttpResponseRedirect('/success/url/')
        еще:
            форма = ЗагрузитьФайлФорму()
        вернуть рендеринг (запрос, 'upload.html', {'форма': форма})
     

    Обратите внимание, что мы должны передать запрос . ФАЙЛЫ в конструктор формы; именно так данные файла связываются с формой.

    Вот распространенный способ обработки загруженного файла:

     def handle_uploaded_file(f):
        с open('some/file/name.txt', 'wb+') в качестве пункта назначения:
            для чанка в f. chunks():
                назначение.запись(чанк)
     

    Перебор UploadedFile.chunks() вместо использования read() гарантирует, что большие файлы не перегружают память вашей системы.

    Есть несколько других методов и атрибутов, доступных в UploadedFile объекты; см. UploadedFile для полной справки.

    Обработка загруженных файлов с помощью модели

    Если вы сохраняете файл на модели с FileField , используя ModelForm значительно облегчает этот процесс. Файловый объект будет сохранен в местоположении указывается аргументом upload_to соответствующий FileField при звонке form.save() :

     из django.http import HttpResponseRedirect
    из django.shortcuts импортировать рендеринг
    из .forms импортировать ModelFormWithFileField
    def upload_file (запрос):
        если request.method == 'POST':
            form = ModelFormWithFileField (запрос. POST, запрос.ФАЙЛЫ)
            если form.is_valid():
                # файл сохранен
                форма.сохранить()
                вернуть HttpResponseRedirect('/success/url/')
        еще:
            форма = ModelFormWithFileField()
        вернуть рендеринг (запрос, 'upload.html', {'форма': форма})
     

    Если вы конструируете объект вручную, вы можете назначить файловый объект из request.FILES в поле файла в модель:

     из django.http import HttpResponseRedirect
    из django.shortcuts импортировать рендеринг
    из .forms импортировать UploadFileForm
    из .models импортировать ModelWithFileField
    def upload_file (запрос):
        если request.method == 'POST':
            form = UploadFileForm(запрос.POST, запрос.ФАЙЛЫ)
            если form.is_valid():
                instance = ModelWithFileField(file_field=request.FILES['file'])
                экземпляр.сохранить()
                вернуть HttpResponseRedirect('/success/url/')
        еще:
            форма = ЗагрузитьФайлФорму()
        вернуть рендеринг (запрос, 'upload. html', {'форма': форма})
     

    Если вы создаете объект вручную вне запроса, вы можете назначить File подобный объект для FileField :

     из django.core.management.base import BaseCommand
    из django.core.files.base импортировать ContentFile
    класс MyCommand (BaseCommand):
        Деф дескриптор(я, *аргументы, **опции):
            content_file = ContentFile(b'Привет, мир!', name='hello-world.txt')
            экземпляр = ModelWithFileField (file_field = content_file)
            экземпляр.сохранить()
     

    Загрузка нескольких файлов

    Если вы хотите загрузить несколько файлов с помощью одного поля формы, установите кратное HTML-атрибут виджета поля:

    forms.py

     из форм импорта django
    класс FileFieldForm(forms.Form):
        file_field = forms.FileField (виджет = forms.ClearableFileInput (attrs = {'несколько': True}))
     

    Затем переопределите метод post вашего Подкласс FormView для обработки нескольких файлов загрузок:

    views. py

     из django.views.generic.edit import FormView
    из .forms импортировать FileFieldForm
    класс FileFieldFormView (FormView):
        form_class = ФормаФайловогоПоля
        template_name = 'upload.html' # Замените своим шаблоном.
        success_url = '...' # Замените своим URL-адресом или reverse().
        def post(self, request, *args, **kwargs):
            form_class = self.get_form_class()
            форма = self.get_form(form_class)
            файлы = запрос.ФАЙЛЫ.getlist('file_field')
            если form.is_valid():
                для f в файлах:
                    ... # Сделайте что-нибудь с каждым файлом.
                вернуть self.form_valid (форма)
            еще:
                вернуть self.form_invalid (форма)
     

    Обработчики загрузки

    Когда пользователь загружает файл, Django передает данные файла в загрузку . handler — небольшой класс, который обрабатывает данные файла по мере его загрузки. Загрузить обработчики изначально определены в настройке FILE_UPLOAD_HANDLERS , который по умолчанию:

     ["django. core.files.uploadhandler.MemoryFileUploadHandler",
     "django.core.files.uploadhandler.TemporaryFileUploadHandler"]
     

    Вместе MemoryFileUploadHandler и TemporaryFileUploadHandler обеспечивает загрузку файла Django по умолчанию поведение при чтении небольших файлов в память и больших на диск.

    Вы можете написать собственные обработчики, которые настраивают, как Django обрабатывает файлы. Ты можно, например, использовать настраиваемые обработчики для обеспечения квот на уровне пользователя, сжатия данные на лету, отображать индикаторы выполнения и даже отправлять данные в другое хранилище местоположение напрямую, не сохраняя его локально. См. Написание пользовательских обработчиков загрузки. для получения подробной информации о том, как вы можете настроить или полностью заменить поведение загрузки.

    Где хранятся загруженные данные

    Прежде чем сохранять загруженные файлы, данные необходимо где-то сохранить.

    По умолчанию, если загруженный файл меньше 2,5 мегабайт, Django сохранит все содержимое загрузить в память. Это означает, что сохранение файла включает только чтение из памяти и запись на диск и, следовательно, очень быстро.

    Однако, если загруженный файл слишком велик, Django запишет загруженный файл во временный файл, хранящийся во временном каталоге вашей системы. На Unix-подобном платформы, это означает, что вы можете ожидать, что Django сгенерирует файл с именем something нравится /tmp/tmpzfp6I6.upload . Если загрузка достаточно большая, вы можете посмотреть это файл увеличивается в размере по мере того, как Django передает данные на диск.

    Данные реквизиты – 2,5 мегабайта; /tmp ; и т. д. – это «разумные невыполнения обязательств» которые можно настроить, как описано в следующем разделе.

    Изменение поведения обработчика загрузки

    Есть несколько настроек, которые управляют поведением Django при загрузке файлов. Видеть Настройки загрузки файлов для получения подробной информации.

    Изменение обработчиков загрузки на лету

    Иногда определенные представления требуют другого режима загрузки. В этих случаях, вы можете переопределить обработчики загрузки для каждого запроса, изменив request.upload_handlers . По умолчанию этот список будет содержать загрузку обработчики, заданные FILE_UPLOAD_HANDLERS , но вы можете изменить список как и любой другой список.

    Например, предположим, что вы написали ProgressBarUploadHandler , который предоставляет обратную связь о ходе загрузки в какой-либо виджет AJAX. Вы бы добавили это обработчик к вашим обработчикам загрузки следующим образом:

     request.upload_handlers.insert(0, ProgressBarUploadHandler(запрос))
     

    Возможно, в этом случае вы захотите использовать list.insert() (вместо append() ), потому что обработчик индикатора выполнения должен будет запустить до любого другие обработчики. Помните, что обработчики загрузки обрабатываются по порядку.

    Если вы хотите полностью заменить обработчики загрузки, вы можете назначить новый список:

     request. upload_handlers = [ProgressBarUploadHandler (запрос)]
     

    Примечание

    Вы можете изменять только обработчики загрузки до доступа request.POST или request.FILES — не имеет смысла изменить обработчики загрузки после того, как обработка загрузки уже начал. Если вы попытаетесь изменить request.upload_handlers после чтение из request.POST или request.FILES Django будет скиньте ошибку.

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

    Кроме того, request.POST доступен CsrfViewMiddleware , который включен по умолчанию. Это означает, что вам нужно будет использовать csrf_exempt() в вашем представлении, чтобы позволить вам чтобы изменить обработчики загрузки. Затем вам нужно будет использовать csrf_protect() для функции, которая фактически обрабатывает запрос. Обратите внимание, что это означает, что обработчики могут начать получать загрузку файла до того, как будут выполнены проверки CSRF. Пример кода:

     из django.views.decorators.csrf import csrf_exempt, csrf_protect
    @csrf_exempt
    def upload_file_view (запрос):
        request.upload_handlers.insert(0, ProgressBarUploadHandler(запрос))
        вернуть _upload_file_view (запрос)
    @csrf_protect
    def _upload_file_view (запрос):
        ... # Обработать запрос
     

    Если вы используете представление на основе классов, вам нужно будет использовать csrf_exempt() на своем метод dispatch() и csrf_protect() в методе, который фактически обрабатывает запрос. Пример кода:

     из django.utils.decorators import method_decorator
    из django.views импортировать вид
    из django.views.decorators.csrf импортировать csrf_exempt, csrf_protect
    @method_decorator(csrf_exempt, имя='отправка')
    класс UploadFileView (представление):
     настройка def (я, запрос, *args, **kwargs):
     request.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *