Я чувствую себя немного как nubcake, потому что я уверен, что упускаю что-то довольно простое.
Проблема: у меня есть представление django, которое должно возвращать файл как загружаемое вложение, нокаждый раз, когда я нажимаю на вид, он пытается отобразить его в браузере как страницу
Такое ощущение, что проблема должна быть с mimetype, но я совершенно уверен, что установил это правильно.При этом я впервые явно настраиваю mimetypes, поэтому я легко могу ошибаться.
В другом сообщении в блоге, которое я прочитал, указано, что, возможно, это была проблема с сервером dev-live, но я перенес это на apacheсервер не помог.
Anyhoo, код выглядит так (большая часть моего кода, на мой взгляд, скопирована из примеров, которые я нашел):
def get_file(clss, request, obj):
path = obj.file.path
fsock = open(path,"r")
content_type, encoding = mimetypes.guess_type( path )
response = HttpResponse(fsock, content_type = content_type)
response['Content-Length'] = os.path.getsize( path )
response['Content-Encoding'] = encoding
response['Content-Disposition'] = 'attachment; filename=%s/' % smart_str(os.path.basename( path ) )
return response