[PYTHON] Créez un fichier temporaire avec django sous forme de zip et renvoyez-le

import tempfile

with tempfile.TemporaryFile() as tmp:
        with zipfile.ZipFile(tmp, 'w', zipfile.ZIP_DEFLATED) as archive:
                data = []
                count = 1
                for item in (self._iter_csv_rows(
                    queryset=self._get_changelist_instance(request).get_queryset(request),                       charset=charset)):
        data.append(item)
        if len(data) >= 10000:
                        tmp2 = tempfile.TemporaryFile()

#csv création writer = csv.writer(tmp2) writer.writerows(data) tmp2.seek(0) archive.writestr('{}-{}.csv'.format(self.model._meta.model_name,count), tmp2.read()) count += 1 data = [] tmp2.close()

        tmp.seek(0)
        res = HttpResponse(tmp.read(), content_type='application/x-zip-compressed')
        res['Content-Disposition'] = 'attachment; filename={base}_{dt}.zip'.format(
                base=self.model._meta.model_name,
                dt=datetime.now().strftime('%Y%m%d-%H%M%S'))
        res['Pragma'] = 'public'
        res['Cache-Control'] = 'public'

        return res

Recommended Posts

Créez un fichier temporaire avec django sous forme de zip et renvoyez-le
Créer un téléchargeur de fichiers avec Django
Créer et renvoyer un fichier CSV CP932 pour Excel avec Chalice
Créer une page d'accueil avec django
Créez un script de déploiement avec fabric et cuisine et réutilisez-le
Créer un gros fichier texte avec shellscript
Créer une machine virtuelle avec un fichier YAML (KVM)
Lisez le fichier CSV avec Python et convertissez-le en DataFrame tel quel
Créer une application Todo avec Django ④ Implémenter la fonction de création de dossier et de tâche
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (5. Entropie des informations)
Comment déguiser un fichier ZIP en fichier PNG
Créer un fichier exécutable GUI créé avec tkinter
Créer un fichier PDF avec une taille de page aléatoire
Créez un tableau de bord pour les appareils réseau avec Django!
Créez une application Hello World avec un seul fichier avec django
Créer un fichier au format Photoshop (.psd) avec python
Créer un cylindre avec une sortie de fichier open3d + STL
Divisez chaque diapositive PowerPoint en un fichier JPG et exportez-le avec python
Je veux écrire un élément dans un fichier avec numpy et le vérifier.
Utilisez la commande [shell] pour compresser par zip n'importe quel fichier pour créer un fichier et supprimer le fichier d'origine.
Formulez un puzzle en forme de lien numérique comme problème de satisfaction de contraintes et résolvez-le avec un solveur de contraintes
Créer un planning Django
Essayez de créer une application Todo avec le framework Django REST
Créer une application Todo avec Django ③ Créer une page de liste de tâches
Créez un lot d'images et gonflez avec ImageDataGenerator
Téléchargement de fichiers avec django
Lire le fichier json avec Python, le formater et générer le json
Créez rapidement un tableau de bord d'analyse de données Python avec Streamlit et déployez-le sur AWS
Créer une visionneuse de modèle 3D avec PyQt5 et PyQtGraph
À moi-même en tant que débutant Django (1) -Création d'un projet / application-
[Python] Créez un fichier de distribution pour le programme Tkinter avec cx_Freeze
Jusqu'à ce que vous créiez un environnement d'apprentissage automatique avec Python sur Windows 7 et que vous l'exécutiez
À moi-même en tant que débutant Django (4) --Créer une application mémo-
Créer une application Todo avec Django ⑤ Créer une fonction d'édition de tâches
Créer un environnement django avec docker-compose (MariaDB + Nginx + uWSGI)
Créer un fichier CAO 2D ".dxf" avec python [ezdxf]
[Linux] Créez un auto-certificat avec Docker et apache
Créez un fichier audio avec la fonction de synthèse vocale de Google Text To Speak et vérifiez le texte comme guide de parole pendant 3 minutes.
Créez un arbre de décision à partir de zéro avec Python et comprenez-le (3. Bibliothèque d'analyse de données édition Pandas)
Lorsque je déploie une application Django sur Apache2 et qu'elle ne lit plus les fichiers statiques
Procédure pour créer un Job qui extrait une image Docker et la teste avec des actions Github
Étapes pour configurer Pipenv, créer une application CRUD avec Flask et la conteneuriser avec Docker
[Python] Créez un écran de spécification de chemin de fichier et de dossier avec tkinter
À la suite du montage et du réglage avec POH! Lite
Créez une caméra de surveillance WEB avec Raspberry Pi et OpenCV
Associez Python Enum à une fonction pour la rendre appelable
Créez des applications, enregistrez des données et partagez-les avec un seul e-mail
Créons un diagramme PRML avec Python, Numpy et matplotlib.
[Django] Créez un modèle adapté au numéro de téléphone / code postal
Jusqu'à ce que Django retourne quelque chose avec un robot de ligne!
Créer une fonction d'authentification à l'aide de django-allauth et CustomUser dans Django
Créez une API Web capable de fournir des images avec Django
Créer une application Todo avec Django ① Créer un environnement avec Docker
Créez une API d'intégration sociale pour les applications smartphone avec Django
[Python] Créer un écran pour le code d'état HTTP 403/404/500 avec Django
Lire et écrire des fichiers
Créer un fichier de données factice
Créer un écran de connexion Django
Écrire et lire des fichiers
Créer et lister des modèles Django