如何解决如何在Django中由管理员下载更新的文件
我想做的是:
所以这是代码:
(1)
class Reports(models.Model):
name = models.CharField(max_length=100,null=False,blank=False,verbose_name="File Name")
report = models.FileField()
(2)
<tr>
<td>"File Name must be showed in here"</td>
<td class="text-center">PDF</td>
<td class="text-center lang-tr-src"><a href="What way should i give here?" target="_blank"><i class="fas fa-file-download"></i></a></td>
<td class="text-center lang-en-src"><a href="" target="_blank"><i class="fas fa-file-download"></i></a></td>
</tr>
在网站上,每个月都会有一份报告。我想在模板中列出它们并使它们可下载。 我应该为此写一个视图(如果可以的话)吗?或者我应该怎么做?
解决方法
每个要显示到模板的数据都需要在views.py中写入,因此这种情况非常特殊。
views.py:
def your_view_name(request):
reports = Reports.objects.all()
context = {
'reports': reports
}
return render(request,'your_template.html',context)
然后在urls.py中为您的视图创建一个URL
urlpatterns = [
path("",views.your_view_name,name='your_url_name')
]
您的模板:
<tr>
{% for obj in reports %}
<td>{{ obj.name }}</td>
<td class="text-center">PDF</td>
<td class="text-center lang-tr-src"><a href="{{ obj.report.url }}" Download
target="_blank"><i class="fas fa-file-download"></i></a></td>
<td class="text-center lang-en-src"><a href="" target="_blank"><i
class="fas fa-file-download"></i></a></td>
{% endfor %}
</tr>
,
首先创建一个新视图。
def report_view(request):
context = {}
reports= Reports.objects.all()
context['reports'] = reports
return render(request,"pages/report.html",context)
在urls.py中为此视图创建一个URL
path('reports',report_view,name='report_view'),
在您的模板中为此上下文创建forloop,如下所示:
{% for report in reports %}
<tr>
<td>"File Name must be showed in here"</td>
<td class="text-center">PDF</td>
<td class="text-center lang-tr-src"><a href="report.report " target="_blank"><i class="fas fa-file-download"></i></a></td>
<td class="text-center lang-en-src"><a href="" target="_blank"><i class="fas fa-file-download"></i></a></td>
</tr>
{% endfor %}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。