В моей модели у меня есть FileField
, который мой шаблон отображает его как ссылку. Моя проблема в том, что связанный файл отображает url как имя. Что показывает на HTML странице:Django: Показать имя файла для загруженного файла
загруженное Файл: ./picture.jpg
Я смотрел на DjangoDocs в отношении имен файлов и предыдущей С.О. question, но просто не могу понять.
Как я могу:
- отобразить его другое имя, а не URL.
- Разрешите администратору, который загрузил файл, чтобы присвоить ему имя, которое затем будет отображаться на шаблоне.
мой models.py:
class model_name(models.Model):
attachment = models.FileField()
мой views.py (если запись существует, отобразить его, если нет, то ответное сообщение):
from django.core.files import File
from vendor_db.models import model_name
def webpage(request, id):
try:
variable = model_name.objects.get(id=id)
except model_name.DoesNotExist:
raise Http404('This item does not exist')
return render(request, 'page.html', {
'variable': variable,
})
мой page.html:
<p>Uploaded File: <a href="{{ variable.attachment.url }}">{{ variable.attachment }}</a></p>
Это помогло, но все еще есть проблемы. Я понимаю, что мне нужно вызвать наложение на имя файла, но не следует ли мне это называть foo? Также, где я помещаю вторую строку кода? В шаблоне? – Kervvv
Хотелось бы, чтобы я мог голосовать, но у меня нет достаточного количества репутации, но LOL – Kervvv