读取和写入存储在 Django Models.py 中的 PDF

朱利安

我可以在 ImageField 下的 Django Models.py 中存储 PDF 吗?文档似乎没有太多提到 PDF。我正在考虑尝试以下方面的内容:

from django.db import models

class Model(models.Model):
    text = models.CharField(max_length=30, unique=False)
    pdf = models.ImageField(upload_to='media/pdfs')

具有如下结构的 form.py:

from django import forms
from model.models import Model

class textForm(forms.ModelForm):
    class Meta:
        model = Model
        fields = ('text',)

使用结构如下的 Views.py:

def user_view(request):
    text = form.cleaned_data.get('text')
    can.drawString(10, 100, Model.text)

    existing_pdf = PdfFileReader(open("media/01.pdf", "rb"))
    page = existing_pdf.getPage(0)
    page.mergePage(new_pdf.getPage(0))
    PdfFileWriter().addPage(page)

    return render(request, "app/fill_form.html", context)
没有部落

试试models.FileField https://docs.djangoproject.com/en/3.0/topics/http/file-uploads/

这是文档中的一个片段

from django.http import HttpResponseRedirect
from django.shortcuts import render
from .forms import ModelFormWithFileField

def upload_file(request):
    if request.method == 'POST':
        form = ModelFormWithFileField(request.POST, request.FILES)
        if form.is_valid():
            # file is saved
            form.save()
            return HttpResponseRedirect('/success/url/')
    else:
        form = ModelFormWithFileField()
    return render(request, 'upload.html', {'form': form})

如果您需要从视图访问上传的文件,它们将在

requests.FILES 

要将 pdf 作为视图返回,您可以按照这篇文章如何在 Django 视图中显示 PDF 文件?

def pdf_view(request):
    with open('/path/to/my/file.pdf', 'r') as pdf:
        response = HttpResponse(pdf.read(), mimetype='application/pdf')
        response['Content-Disposition'] = 'inline;filename=some_file.pdf'
        return response
    pdf.closed

如果您的模型中有 pdf,您可以在模型上添加一个 editPDF 函数,该函数可以按照您正在执行的方式添加所选文本(假设这是有效的)并保存 pdf。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Django:models.py中的def save()

Django models.py中的NameError

在Django Models.py中添加时间

Django:如何增加存储在models.py /数据库中的计数器

Django模型manager.py和models.py

在Django models.py中,default,null和blank之间有什么区别?

如何从Django模板访问models.py中的常量?

Python,Django:在 models.py 中限制 IntegerField

从 Django 应用程序中删除“models.py”

在 ManytoManyField(Django Admin) models.py 中实现搜索字段

models.py中的Django过滤器关系

Django:防止将表单保存在 models.py 中

Django models.py错误

Python Django如何在django models.py中创建哈希字段

Django中的PDF和病毒

Django:在models.py中的save()期间,PositiveIntegerField中的ManyToMany字段计数

Django:在models.py 中出错并迁移,尝试修复错误但django 在models.py 中没有看到任何更改

Django models.py没有pk

在 django models.py 中使用 if else

Django将主键发布为slug?如何在models.py中引用主键?

models.py中的Django def_get逻辑未找到对象

1.7中的django apps and models.py-究竟发生了什么变化?

如何在我的models.py中引用Django设置变量?

如何在Django models.py中更新外键字段?

Django:“models.py”中的一个类的 DB-Query

我们可以在Django的models.py中定义数据库名称吗?

Python-如何在Django的models.py中添加两个模型字段

在Django的models.py中创建数据库时,如何解决迁移错误?

如何从 Django 中的 models.py 查询数据库项?