Джанго: Просмотр загруженных файлов docs/pdf
Я пытаюсь получить файл, который я загрузил. Но когда я нажимаю на файл, он возвращает страницу, на которой я нахожусь. Или, если я пытаюсь загрузить файл, он показывает html-файл страницы. Мой код такой же при загрузке изображений, но у меня нет проблем с просмотром изображения. Я сделал то же самое при загрузке файла, но он не показывает файл.
Вот мой код:
models.py
class File(models.Model):
id = models.AutoField(db_column='id', primary_key=True)
soano = models.CharField(db_column='SoaNo', max_length=20)
studentid = models.ForeignKey('Student', on_delete=models.CASCADE, db_column='studentid')
file = models.FileField(db_column='file', upload_to='soa/', verbose_name="")
class Meta:
managed = True
db_table = 'soa'
views.py
def file_upload(request):
if request.method == 'GET':
student = Student.objects.all()
return render(request, 'admin/file_upload.html', {'student': student})
if request.method == 'POST':
upload = Soa()
randomid = ''.join(random.choices(string.digits, k=5))
upload.soano = f"{randomid}"
studentid = request.POST.get('studentid')
upload.studentid_id = studentid
if len(request.FILES) != 0:
upload.file = request.FILES['file']
upload.save()
return redirect('/students/file/')
file.html
{% for obj in query %}
<tr>
<td>{{ obj.fileno }}</span></td>
<td>{{ obj.student.lrn }}</span></td>
<td><a href="{{ obj.file.url }}" download="{{ obj.file.url }}">{{ obj.file }}</a></td>
</tr>
{% endfor %}
Я проверил каталог, и файл, который я загрузил, был там. Но я просто не могу просмотреть его с помощью {{ obj.file.url }}. Я не знаю, чего мне не хватает.