我在views.py
中的代码越来越大,现在我想将其拆分为模块。但是我对变量有麻烦。问题在于我不应该在自定义模块或views.py
中声明变量或导入内置模块。这是我的代码:
views.py
:
@login_required(login_url='sign_in')
def result(request):
find_by_fives()
context = {
'last_uploaded': last_uploaded,'words_count': words_count,'characters_count': characters_count
}
return render(request,'result.html',context)
find_by_fives.py
(是我的自定义模块):
import glob
from .models import OriginalDocument
from django.shortcuts import render
def find_by_fives():
last_uploaded = OriginalDocument.objects.latest('id')
original = open(str(last_uploaded.document),'r')
original_words = original.read().lower().split()
words_count = len(original_words)
open_original = open(str(last_uploaded.document),"r")
read_original = open_original.read()
characters_count = len(read_original)
path = 'static/other_documents/doc*.txt'
files = glob.glob(path)
错误:NameError: name 'last_uploaded' is not defined
注意:这不是我的全部观点,我只想知道应该在哪里声明context
,变量和导入。