Использование библиотек Python в Django
Привет! Я был бы признателен, если бы кто-нибудь мог помочь мне с сомнением в использовании библиотек Python в Django. Я постараюсь быть максимально ясным, так что вот оно:
В своей работе я работаю со счетами-фактурами, которые сохраняются в определенном каталоге (файлы PDF), и все они имеют одинаковую структуру. В моей работе меня интересует только одно конкретное значение в строке - число. Моя работа состоит в том, чтобы извлечь эту ценность из всех счетов и просуммировать их все. Итак, я сделал скрипт на Python, в котором использую библиотеки Pandas, os и PDFplumber, и он отлично работает. В code.png вы можете увидеть цикл, который я использую для извлечения нужной мне строки и значения, используя PDFplumber, а затем суммирую все эти значения. В invoice.png вы можете увидеть, как PDFplumber делит счет на строки и столбцы.
Итак, вот что: я хочу развернуть приложение Django, чтобы другие люди на предприятии могли использовать скрипт python, который я использую (они ничего не знают о программировании на Python). Итак, я хотел бы развернуть приложение Django, в котором они могут загрузить каталог со всеми файлами PDF, а затем использовать скрипт python, который я показываю в code.png. Но у меня проблемы с логикой, стоящей за этим. Мои вопросы:
- Можем ли мы использовать любые библиотеки Python в Django (например, PDFplumber, pandas и т. Д.)?
- Могу ли я поместить свой скрипт Python в views.py? (Что-то вроде этого)
приложение / 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})
Заранее спасибо!
2 ответа
Можем ли мы использовать любые библиотеки Python в Django (например, PDFplumber, pandas и т. Д.)?
Да, приложение Django - это просто код Python. Вы можете добавить любой код Python, который хотите, включая
import pandas
или что-то еще.
Могу ли я поместить свой скрипт Python в views.py? (Что-то вроде этого)
Хотя вы можете писать код так, как вы описываете, я предлагаю вам организовать его более логично. Функция просмотра должна только обрабатывать запрос и возвращать ответ. Любая бизнес-логика, например анализ PDF-файлов, должна быть в отдельном файле. Организуйте свой код таким образом, чтобы он соответствовал задаче, которую вы пытаетесь выполнить.
Django - это еще одна библиотека Python, поэтому вы определенно можете использовать другие библиотеки вместе с Django. Добавление кода в views.py - очень хорошее начало вашего проекта. Обратной стороной view.py является то, что он блокирует вызов до тех пор, пока не будет получен ответ. Если это займет слишком много времени, вы можете получить таймауты HTTP, чтобы можно было изучить другие решения, но я бы обязательно начал с кода в views.py.