Джанго: Просмотр загруженных файлов 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 }}. Я не знаю, чего мне не хватает.

Вернуться на верх