微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Django中由管理员下载更新的文件

如何解决如何在Django中由管理员下载更新的文件

我想做的是:

  • 管理员管理面板上载PDF文件。 (1)
  • 它需要转到指定的模板。 (2)
  • 并且应该通过按模板中的下载按钮进行下载。

所以这是代码

(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 举报,一经查实,本站将立刻删除。