Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何允许用户在线下载或查看我在静态文件夹中托管的PDF?_Django - Fatal编程技术网

Django 如何允许用户在线下载或查看我在静态文件夹中托管的PDF?

Django 如何允许用户在线下载或查看我在静态文件夹中托管的PDF?,django,Django,我有一个模式存储文件名,文件链接,是活动的和上传的字段。我可以通过管理网站添加PDF,但我试图让用户能够下载PDF或在我创建的前端网页的新选项卡上查看PDF 目前,我创建的视图正在获取每个PDF的信息,这样我就可以显示名称、链接等。如果我将{{PDF.file_link}}放入一个文件夹中,它不会做任何事情 我真的很感激在这方面得到一些帮助,这样我就可以停止旋转我的轮子。提前谢谢你+ 编辑: 型号: 视图: 正如您在视图中看到的,我只从模型中获取日期。我没有做任何特殊的实际PDF尚未。这就是问题

我有一个模式存储文件名,文件链接,是活动的和上传的字段。我可以通过管理网站添加PDF,但我试图让用户能够下载PDF或在我创建的前端网页的新选项卡上查看PDF

目前,我创建的视图正在获取每个PDF的信息,这样我就可以显示名称、链接等。如果我将{{PDF.file_link}}放入一个文件夹中,它不会做任何事情

我真的很感激在这方面得到一些帮助,这样我就可以停止旋转我的轮子。提前谢谢你+

编辑: 型号:

视图: 正如您在视图中看到的,我只从模型中获取日期。我没有做任何特殊的实际PDF尚未。这就是问题所在

@login_required()
    def help_center_view(request):
    data = dict()
    data['userprofile'] = request.user.userProfile
    data['get_pdfs'] = HelpfulPDF.objects.filter(is_active=True)

    return render(request, 'help_center.html', data.items())
模板:

{% extends 'base.html' %}

{% load staticfiles %}

{% block content %}
    <hr>
        <div class="text-center">
            <b>Please look at the below PDF's.</b> <i>(You can view   in browser or download to your computer)</i>
        </div>
    <hr>
    <br><br>
    <div class="text-center">
    {% if get_pdfs %}
        {% for each_pdf in get_pdfs %}
            <div style="display: inline-block; width:275px; height: auto; border: thin grey solid; border-radius: 15px ">
                <br>
                {% if each_pdf.file_name %}
                    <h6>{{ each_pdf.file_name }}</h6>
                {% else %}
                    <h6>Helpful PDF</h6>
                {% endif %}
                <hr>
                <div style="margin-top: 13em">
                    <hr>
                    <button class="btn-primary btn-sm">Download PDF</button>
                    <a href="#"><button class="btn-primary btn-sm">View PDF Online</button></a>
                </div>
                <br>
            </div>
        {% endfor %}
    {% else %}
        <h4>There are no PDF's to display at this time.</h4>
    {% endif %}


    </div>
{% endblock %}
{%extends'base.html%}
{%load staticfiles%}
{%block content%}

请看下面的PDF。(您可以在浏览器中查看或下载到您的计算机)


{%if get_pdfs%} {get_pdf%中每个_pdf的百分比为%}
{%if每个_pdf.file_name%} {{each_pdf.file_name} {%else%} 有用的PDF {%endif%}

下载PDF
{%endfor%} {%else%} 此时没有要显示的PDF。 {%endif%} {%endblock%}
如果你的pdf文件链接有效(试着在浏览器中找到它,看看会发生什么),那么应该可以在模板中执行类似的操作:

添加
target=“\u blank”
属性,使其在另一个选项卡中打开

如果希望在单击时下载锚元素,可以向锚元素添加
download
属性


浏览器应能自动打开或下载PDF。如果不是,则说明您的链接无效(最有可能的原因)或(可能性较小,因为您可能知道),您的服务器在响应中发送了错误的内容类型标题(您可以在Chrome上网络选项卡的浏览器开发控制台中检查该标题)。

如果您的pdf文件链接有效(尝试在浏览器中访问它,看看会发生什么),然后应该可以在模板中执行类似的操作:

添加
target=“\u blank”
属性,使其在另一个选项卡中打开

如果希望在单击时下载锚元素,可以向锚元素添加
download
属性


浏览器应自动处理打开或下载PDF的操作。如果不是,则可能是您的链接无效(最可能的原因)或(不太可能,因为您可能知道它)您的服务器在响应中发送了错误的内容类型标题(您可以从Chrome上网络选项卡的浏览器开发控制台中检查).

您可以创建一个视图来代理PDF文件并返回特定标题,请参见以下答案:

您可以创建一个视图来代理PDF文件并返回特定标题,请参见以下答案:

您应该在问题中添加一些代码。查看后,我们可以帮助您!显示您的models.py、views.py和一些\u template.ht我很抱歉没有添加代码。哈哈。模型:我将代码添加到原始问题中。感谢您查看。您应该在问题中添加一些代码。查看后,我们可以帮助您!显示您的models.py、views.py和一些_template.htmlSorry关于没有添加代码。哈哈。模型:我将代码添加到原始问题中。谢谢谢谢你看一看
{% extends 'base.html' %}

{% load staticfiles %}

{% block content %}
    <hr>
        <div class="text-center">
            <b>Please look at the below PDF's.</b> <i>(You can view   in browser or download to your computer)</i>
        </div>
    <hr>
    <br><br>
    <div class="text-center">
    {% if get_pdfs %}
        {% for each_pdf in get_pdfs %}
            <div style="display: inline-block; width:275px; height: auto; border: thin grey solid; border-radius: 15px ">
                <br>
                {% if each_pdf.file_name %}
                    <h6>{{ each_pdf.file_name }}</h6>
                {% else %}
                    <h6>Helpful PDF</h6>
                {% endif %}
                <hr>
                <div style="margin-top: 13em">
                    <hr>
                    <button class="btn-primary btn-sm">Download PDF</button>
                    <a href="#"><button class="btn-primary btn-sm">View PDF Online</button></a>
                </div>
                <br>
            </div>
        {% endfor %}
    {% else %}
        <h4>There are no PDF's to display at this time.</h4>
    {% endif %}


    </div>
{% endblock %}