У меня есть модель, в которую я могу загружать файлы без проблем, и формы модели, которые загружают файл, которые отлично получают путь, когда я вызываю их в цикле html; но доступ к этим файлам через интерфейс администратора django недоступен. В двух случаях загруженные файлы могут попасть в определенные формы media_ root.
Что я делаю не так?
models.py
class Documentos(models.Model):
user = models.OneToOneField(User, on_delete="models_CASCADE", null=True, blank=True)
nome = models.CharField(max_length=200, default='Arquivo')
documento = models.FileField(upload_to='')
data = models.DateField(auto_now_add=True)
formatado = models.BooleanField(default=False)
class Meta:
verbose_name = 'Documento'
verbose_name_plural = 'Documentos'
def __str__(self):
return self.nome
. py
class DocumentosForm(forms.ModelForm):
class Meta:
model = Documentos
fields = ['user','nome','documento']
views.py
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from django.core.files.storage import FileSystemStorage
from .forms import *
from .models import *
def alfa(request):
return render(request, 'pdfupload.html')
# Create your views here.
@login_required(login_url='/register')
def upload(request):
context = {}
if request.method == 'POST':
uploaded_file = request.FILES['document']
fs = FileSystemStorage()
name = fs.save(uploaded_file.name, uploaded_file)
context['url'] = fs.url(name)
return render(request, 'pdfupload.html', context)
def documentos_lista(request):
return render(request, 'lista.html')
def upload_documento(request):
return render(request, 'documento_upload.html')
forms. html:
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="document" />
<input type="submit" name="submit" value="Upload" />
</form>
У меня есть проект / urls.py:
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Я использую django 2.1. Даже если я не могу получить загруженные файлы с помощью форм в django admin, сообщение об ошибке не возвращается. Я очень благодарен вам за помощь. Спасибо, хорошего дня.