【问题标题】:How can I view the pdf file in Django?如何在 Django 中查看 pdf 文件?
【发布时间】:2018-11-25 22:21:50
【问题描述】:

注意:

  1. 我的模型表由 id 字段和 File 字段组成,这将是 pdf。
  2. 我正在使用 django admin 将数据插入模型中。(我没有自定义上传表单)
  3. 我正在尝试在浏览器中查看 pdf(因为它通常在 chrome 中打开)。
  4. 我正在尝试通过使用表单在自定义 HTML 模板中获取 id 字段(按用户)来查找文件(请查看下面提到的代码。)
  5. 我在下面附上了 urls.py、index.html、views.py、models.py 和 forms.py 代码。请耐心通过,让我知道问题和解决方案。
  6. 我认为我的代码应该可以工作,但我收到了可疑文件操作错误。

urls.py

urlpatterns = [
    path('',views.index),
    path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

views.py

def index(request):
    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid():
            id=request.POST.get("id")
            ans = query.objects.get(id=id)
            response=ans.repo
            if ans is None:
                return redirect("index.html")
            else:
                #return render (request,"ans.html",{'ans':response})
                return redirect(response)
    else:
        form = Form()
    return render(request,"index.html",{'form':form})

forms.py

class Form(forms.Form):
    id = forms.CharField(label="Report ID", max_length=100)

models.py

class query(models.Model):
    id=models.IntegerField(primary_key=True)
    repo=models.FileField(upload_to='documents/')

index.html

<!-- Search Form -->
        <form id="signup-form" method="POST" action="">
        {% csrf_token %}
            {{form}}
            <input type="submit" value="Check" />
        </form>

【问题讨论】:

  • @Rarblack 你现在有了我的全部代码。请相应地帮助我。
  • 您的代码中似乎没有处理 PDF。这是从哪里来的?
  • 你能不能提一下你遇到了什么错误
  • @bharatbhushan 我的代码将我带到存在的文件的 url,例如“localhost:8000/documents/file.pdf”,但我在...处收到可疑文件操作的错误。 .
  • @TahseenRahman 这个问题只在chrome中出现,然后可能是firefox中启用了弹出文件阻止

标签: python django


【解决方案1】:

文件字段的 URL 在url 属性中,因此您需要使用ans.repo.url

【讨论】:

  • 我的文件 url 应该是“localhost:8000/documents/file.pdf”,但它正在导航到“localhost/documents/documents/file.pdf”。你能告诉我为什么吗?异常值为:连接路径 (E:\Work in Progress\Python\Delhi_patho\delhi_patho\documents\Resume.pdf) 位于基本路径组件之外 (E:\Work in Progress\Python\Delhi_patho\delhi_patho) @bharat bhushan
猜你喜欢
  • 1970-01-01
  • 2017-09-14
  • 1970-01-01
  • 2016-02-02
  • 2019-10-16
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多