J'essaie de déployer une application Django sur Heroku. J'utilise actuellement le paquet Django-Heroku en tant que configuration standard. Sous mes modèles, certains fichiers multimédia téléchargés à l'aide de Imagefield et je souhaite qu'ils soient affichés dans mes modèles. Cependant, bien qu'ils semblent indiquer la destination correcte, ils ne sont pas servis.
J'ai regardé ici des questions similaires ici et j'ai examiné le référentiel git de forfait officiel à la recherche d'exemples, mais je n'ai trouvé aucun exemple en utilisant la même configuration. p>
paramètres.py p> modèle p> Bien que je puisse confirmer que Le dossier multimédia, le sous-dossier et l'image existent (à la base de mon projet) et que l'objet est présent dans le modèle, je suis toujours présenté avec l'erreur 404 suivante: p>
3 Réponses :
Le package Django-Heroku ne fournirait pas cette fonctionnalité hors de la case (en raison de la restriction du côté Heroku, il est impossible de réaliser un déploiement et un développement sans soudure de fichiers multimédia). En développement, il faut charger les fichiers multimédia via: dans la production des fichiers statiques, car certains utilisateurs mentionnés ci-dessus doivent être signifiés à partir d'une source externe. Voici les conseils que je suis en train de suivre: https://web.archive.org/web/20170607080235/http://djangobook.com/serving-files-Production/ P> p>
Je veux juste expliquer plus loin ce que d'autres disaient que Andre n'a pas compris. Lorsque vous déployez votre projet, ces fichiers multimédias ne sont pas là - ils sont ajoutés lors de l'utilisation de l'application et sont disponibles pour cette période seulement. Lorsque le dyno va tendre la sommeil Votre application est plus ou moins redéployée (tout est installé à nouveau pour une utilisation) et est exactement la même chose que vous l'avez déployée pour la première fois - sans les fichiers multimédia. P>
Suivez ces étapes:
Ajouter un addon nuageux à votre application Heroku. P> li>
Cliquez sur le nuage et l'installer. P> li>
puis cliquez sur Addon nuageux. P> li>
à partir de ce tableau de bord, vous pourrez voir vos informations d'identification pour vous connecter. P> li> ol>
puis allez à votre projet: strong> p>
10.
...
cloudinary==1.17.0
django-cloudinary-storage==0.2.3
<img src="{{ test_model_instance.image.url }}" alt="{{
test_model_instance.image.name }}">
Duplicate Possible Stackoverflow.com/questions/41474150/ ...
J'avais vu cette réponse, mais dans ce cas, le paquet Django-Heroku n'était pas utilisé et mon objectif est d'avoir un déploiement et un développement transparent. L'erreur que j'ai eu était en développement (je suppose que la même chose se produirait dans la production, je teste actuellement), ce qui ne peut être attribué à Dynos étant inactif.
Vous ne pouvez pas i> Stocker les fichiers téléchargés des utilisateurs sur le système de fichiers Heroku. Vous devez utiliser un magasin externe, tel que S3.
Peut-être que je manque quelque chose, mais je teste localement et que le fichier est stocké correctement dans le dossier multimédia.