Есть ли способ вызвать функцию (в другом файле python) и получить тот же результат в Django view

Я пытаюсь получить возврат из функции, которая находится в similarity.py (имя функции returnTablewithURL) в Views.py. Когда я печатаю переменную df в similarity.py, она выдает результат в виде dataframe. Например, так:

    Similarity (%)
https://en.wikipedia.org/wiki/The_quick_brown_f...        0.876818
https://knowyourphrase.com/the-quick-brown-fox            2.371295

Я хочу получить такой же вывод для функции fileupload в файле views.py. Поэтому я попытался вызвать функцию из views (то есть из функции fileupload), но она показывает что-то в цифрах. Вывод (с помощью оператора print, чтобы проверить, одинаковый ли он):

<function returnTableWithURL at 0x000001D3631311F0>

Я пробовал некоторые другие методы, но тщетно. Было бы очень полезно, если бы я мог воспользоваться некоторыми предложениями и помощью

Views.py:

def fileupload(request):
    # Handel file upload
    if request.method == 'POST':
        form = DocumentForm(request.POST, request.FILES)
        if form.is_valid():
            #Process for handeling the file snd store it on mongodb
            newdoc = Document(docfile = request.FILES['docfile'])
            #Contain process for extracting data in a file and storing them in DB as textfield
            newdoc.fileData = request.FILES['docfile'].read()
            newdoc.username = request.user            
            newdoc.save()
            # Redirect to the document list after post
            result(newdoc.fileData)

            # Here i am trying to get the result from 
            # returnTableWithURL function. This function is in 
            # another python

            dframe = returnTableWithURL
            print(dframe)
            return render(request, 'report.html',{'df': 
            dframe})
    else:
        form = DocumentForm() #A empty, unbound form
            
    # Load documents for the list page
    documents = Document.objects.filter(username=request.user)

    # Render list page with the documents and the form
    return render(request,
        'home.html',
        {'documents': documents, 'form': form}) 

Вот функция и файл python. Функция принимает параметр.

Similarity.py

def returnTableWithURL(dictionary):

    df = pd.DataFrame({'Similarity (%)':dictionary})
    
    print(df)
    return df

Вот HTML-страница, на которой я хочу показать фрейм данных

report.html

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Plagirism Report</title>
</head>
<body>

    

    {{ df }}

    
    
</body>
</html>

Хорошо, я не смог сделать это в обычном процессе, например, вызвав переменную df, но я добился успеха, используя json. Я следовал этому решению https://www.geeksforgeeks.org/rendering-data-frame-to-html-template-in-table-view-using-django-framework/

Надеюсь, это поможет другим

Вернуться на верх