使用os.listdir()
获取文件夹中的文件,并使用os.remove()
从其中删除文件,并且在重新启动Django服务器之前,文件仍然列出。有什么方法可以避免必须重新启动服务器才能获得“正确的”文件列表?
具有一个名为pics.py
的文件,该文件带有一个file_list
,该文件通过views.py
传递并呈现在模板中。
从浏览器运行时出现错误,通过Eclipse列表会立即更新。
from os import listdir
from os.path import isfile, join, dirname, abspath
mypath = dirname(dirname(abspath(__file__))) + "\..\media\dump"
file_list = [f for f in listdir(mypath) if isfile(join(mypath, f))]
答案 0 :(得分:1)
您将需要在视图功能中更新file_list
,例如
from os import listdir
from os.path import isfile, join, dirname, abspath
def get_files():
mypath = dirname(dirname(abspath(__file__))) + "\..\media\dump"
return [f for f in listdir(mypath) if isfile(join(mypath, f))]
def my_view(request):
return render(request, "template.html", {"files": get_files()})
(或等效的基于类的视图)。