在 Django 中使用 Python 个库

Using Python Libraries in Django

![发票][1]

![python 脚本][2]

[1]: [2]: https://i.stack.imgur.com/Y6Ebm.png

您好!如果有人可以帮助我解决我对在 Django 中使用 Python 库的疑问,我将不胜感激。我会尽量像 possible 一样清楚所以这里是:

在我的工作中,我处理的发票都保存在特定目录(PDF 文件)中,它们都具有相同的结构。在我的工作中,我只对一行中的一个特定值感兴趣,它是一个数字。我的工作是从所有发票中提取该值并将它们全部相加。因此,我制作了一个 python 脚本,我在其中使用了库 Pandas、os 和 PDFplumber,效果很好。在 code.png 中,您可以看到我使用 PDFplumber 提取我想要的行和值的循环,然后对所有这些值求和。在 invoice.png 中,您可以看到 PDFplumber 如何按行和列划分发票。

所以,事情是这样的:我想部署一个 Django 应用程序,以便企业中的其他人可以使用我使用的 python 脚本(他们对 Python 一无所知编程)。所以,我想部署一个 Django 应用程序,他们可以在其中上传包含所有 PDF 文件的目录,然后使用我在 code.png 中显示的 python 脚本。但我对它背后的逻辑有疑问。我的问题是:

  1. 我们可以在 Django 中使用任何 python 库(例如 PDFplumber、pandas 等)吗?
  2. 我会把我的 python 脚本放在 views.py 中吗? (像这样)

app/views.py

import os
import pdfplumber
import pandas as pd
from django.shortcuts import render


def function(request):
    
    #Use the directory with the images uploaded by the user.
    #Python script shown in code.png
    # data = response obtained from the python script.
    return render(request, 'app/response.html',{"data":data})

先谢谢你!

Django 只是另一个 Python 库,因此您绝对可以将其他库与 Django 一起使用。在 views.py 中添加您的代码是您项目的一个很好的开始。 views.py 的缺点是它会阻塞调用直到收到响应。如果花费的时间太长,您可能会遇到 HTTP 超时,因此可以探索其他解决方案,但我肯定会从 views.py.

中的代码开始

Can we use any python libraries in Django ( such as PDFplumber, pandas, etc) ?

是的,Django 应用就是 Python 代码。您可以添加您想要的任何 python 代码,包括 import pandas 或其他内容。

Would I put my python script in views.py? (Something like this)

虽然您可以按照您描述的方式编写代码,但我建议您更有逻辑地组织它。视图函数应该只处理请求和 return 响应。任何业务逻辑,例如解析 PDF 文件,都应该放在一个单独的文件中。以对您要完成的任务有意义的方式组织您的代码。