Tôi đang viết một ứng dụng django để tải lên một thư mục tệp có biểu mẫu.Tải lên thư mục Django nhận tên thư mục con
Đây là hình thức Tôi đang sử dụng mà cho phép tải lên các thư mục:
class FileFieldForm(forms.Form):
file_field = forms.FileField(widget=forms.ClearableFileInput(attrs=
{'multiple': True, 'webkitdirectory': True, 'directory': True}))
Đây là bài thô trọng tải:
------WebKitFormBoundaryPbO3HkrKGbBwgD3sd1
Content-Disposition: form-data; name="csrfmiddlewaretoken"
F575Bgl4U9dzgwePPeSW2ISZKk5c3CnRoqFasdasD0Hep6nD0LnAAObXbF92SUa96NbO2
------WebKitFormBoundaryPbO3HkrKGbBwgDsd31
Content-Disposition: form-data; name="file_field";
filename="MainDir/SubDir1/1.jpg"
Content-Type: image/jpeg
------WebKitFormBoundaryPbOasd3HkrKGbBwgD31
Content-Disposition: form-data; name="file_field";
filename="MainDir/SubDir2/2.jpg"
Content-Type: image/jpeg
Đây là quan điểm để xử lý hình thức:
class FileFieldView(FormView):
form_class = FileFieldForm
template_name = 'upload.html'
success_url = 'upload'
def post(self, request, *args, **kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
files = request.FILES.getlist('file_field')
if form.is_valid():
for f in files:
pprint("Name of file is " + f._get_name() + ' ' + f.field_name, sys.stderr)
new_file = FileModel(file=f)
new_file.save()
return self.form_valid(form)
else:
return self.form_invalid(form)
Vấn đề là tên đối tượng tệp trong django không có tên thư mục con. Tôi giả định một trong những yêu cầu xử lý phần mềm trung gian là phân tích cú pháp và loại bỏ tên thư mục con khỏi tên tệp. Có cách nào tôi có thể lấy tên tập tin gốc có tên thư mục và thư mục con không?
Cảm ơn cho định dạng đẹp @Moinuddin Quadri –
Tôi đã bỏ lỡ tài liệu này. Tôi sẽ thử nó, nó sẽ hoạt động. – pratsJ