Как загрузить файл word или pdf в django

#python #django #django-models #django-views

Вопрос:

Я пытаюсь загрузить файл word/pdf, но он не работает. Моя форма успешно отправлена, но файл не сохранен в поле документа. Он показывает пустое поле, а также не показывает никаких ошибок во время отправки формы, я не знаю, в чем проблема и как я могу ее исправить. Я добавляю URL-адрес МУЛЬТИМЕДИА в настройки, а также определяю путь в URL-адресах

View.py

  class SaloonRegistration(TemplateView):
    template_name = 'saloonRegistration.html'

    def get(self, request, *args, **kwargs):
        return render(request, self.template_name)

    def post(self, request):
       saloon = SaloonRegister(
           saloon_name=self.request.POST.get('saloon_name'),
           owner_name=self.request.POST.get('owner_name'),
           address=self.request.POST.get('address'),
           contact_no=self.request.POST.get('contact_no'),
           document=self.request.POST.get('document')
       )
       saloon.save()
       return redirect('menu')
 

Model.py

  class SaloonRegister(models.Model):
     saloon_name = models.CharField(max_length=50)
     owner_name = models.CharField(max_length=30)
     address = models.CharField(max_length=30)
     contact_no = models.BigIntegerField()
     document = models.FileField(upload_to='doc/')
is_active = models.BooleanField(default=False)
 

Шаблон

  {% extends 'home.html' %}

 {% block content %}
     <form method="post" enctype="multipart/form-data">
        {% csrf_token %}
          <label for="saloon_name">Saloon Name
              <input type="text" name="saloon_name" placeholder="Enter Your first name">
          </label>
          <label for="owner_name">Owner Name
              <input type="text" name="owner_name" placeholder="Enter Your last_name">
          </label>
          <label for="address">Address
              <input type="text" name="address" placeholder="Enter email address">
          </label>
          <label for="contact_no">Contact No
              <input type="number" name="contact_no" placeholder="Enter your username">
          </label>
          <label for="document"> upload Doc
              <input type="file" name="document" id="document">
          </label>
          <button type="submit">Submit</button>
    </form>
 {% endblock%}
 

Ответ №1:

Комментарии:

1. я уже проверил документацию, но я не знаю, в чем проблема

2. Загрузка файлов осуществляется по запросу. ФАЙЛЫ не запрашиваются. Публикация

3. когда я пытаюсь с document=self.request.POST.get(запрос. ФАЙЛЫ) он показывает ошибку, не поддающуюся хэшированию типа: «Многозначный»

4. документ=самостоятельный запрос. ФАЙЛЫ.получить(«документ»)

5. У вас есть какие-либо идеи, как я могу загрузить этот файл после загрузки?