在我的模型中,我定义了一个FileField
,我的模板将其显示为链接。我的问题是,链接的文件显示的网址作为名称。什么显示HTML网页是:Django:显示上传文件的文件名
上传的文件:./picture.jpg
我枕着DjangoDocs有关文件名和前S.O. 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
我希望我能投票,但我没有足够的代表呢哈哈 – Kervvv