如何在 Django 表单中创建动态 listdir?

我需要能够使用表单从服务器中选取文件。现在我使用 os.listdir 但当文件夹中的新文件显示时它不会实现。列表仅在服务器重新启动时更新。如何在不重新启动服务器的情况下更新文件列表?谢谢


我使用 Python 2.7 和 Django 1.7。


forms.py


class OutFileForm(forms.Form):

    file_list = os.listdir(PATH)

    file_list_done = [("", "---")]

    for element in file_list:

        file_list_done.append((element, element))

    outbound_file = forms.ChoiceField(label="Outbound", choices=file_list_done, required=True)


慕森王
浏览 117回答 1
1回答

繁花不似锦

你可以在__init__方法中准备它class OutFileForm(forms.Form):    outbound_file = forms.ChoiceField(label="Outbound", choices=None, required=True)  def __init__(self, *args, **kwargs):      super().__init__(*args, **kwargs)      file_list = os.listdir(PATH)      file_list_done = [("", "---")]      for element in file_list:          file_list_done.append((element, element))      self.fields['outbound_file'].choices = file_list_done
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python