Python 如何使用Flask process 2日期,如Expedia?
我刚刚做了一个网页,允许我的用户使用日历选择他们想要查看的任何日期,我们每天都有很多文件。。但现在他们要求我像Expedia一样制作日历,用户选择开始日期和结束日期,我应该能够显示这两天范围内的所有文件,默认情况下,无论何时用户选择开始日期,结束日期都应该相同,并且用户应该能够更改结束日期。。此外,结束日期必须大于开始日期。。 Blow是我获取文件信息的功能Python 如何使用Flask process 2日期,如Expedia?,python,flask,Python,Flask,我刚刚做了一个网页,允许我的用户使用日历选择他们想要查看的任何日期,我们每天都有很多文件。。但现在他们要求我像Expedia一样制作日历,用户选择开始日期和结束日期,我应该能够显示这两天范围内的所有文件,默认情况下,无论何时用户选择开始日期,结束日期都应该相同,并且用户应该能够更改结束日期。。此外,结束日期必须大于开始日期。。 Blow是我获取文件信息的功能 def get_files(date): res_files = [] path = os.path.join(BASE_DIR,date
def get_files(date):
res_files = []
path = os.path.join(BASE_DIR,date)
if os.path.isfile(path):
return res_files
if (not isdir(path)):
return res_files
dirs = os.listdir(path)
cat_dirs = [f for f in dirs if os.path.isdir(os.path.join(path,f))]
for c in cat_dirs:
abs_dir = join(path,c)
cat_files = [f for f in os.listdir(abs_dir) if os.path.isfile(os.path.join(abs_dir,f))]
for f in cat_files:
abs_file = join(abs_dir, f)
file_time = os.path.getmtime(abs_file)
t = time.strftime("%H:%M:%S", time.localtime(file_time))
res_files.append((getctime(abs_file),f ,c, abs_file, t))
files = sorted(res_files, key=lambda tup:tup[0], reverse = True)
return files
pass
def get_multi_files(dates){
files = []
for date in dates:
files.extends(get_files(date))
return files
“您当前正在对文件进行迭代,并尝试获取文件的上次修改时间。虽然这是可行的,但随着应用程序的增长,这将变得非常占用资源。以这种方式查找特定日期范围内的文件也很困难 相反,使用数据库。上载文件时,为其创建条目。修改文件时,使用上次修改的时间更新条目 理想情况下,您可以拥有以下字段:
- 文件路径
- 头衔
- 描述
- 创建于
- 更新地址
在烧瓶视图中,可以从前端传递两个日期,例如
start\u date
和end\u date
。现在使用这两个日期,您需要查找在这两个日期之间创建/修改的文件 不需要。您也需要修改它。获取文件路径并使用它们。