0
votes

Comment déployer des fichiers multimédia à Django-Heroku?

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.

paramètres.py xxx

modèle xxx

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: xxx < / p>


4 commentaires

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 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.


3 Réponses :


3
votes

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: xxx

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/


0 commentaires

0
votes

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.


0 commentaires

0
votes

Suivez ces étapes:

  1. Ajouter un addon nuageux à votre application Heroku. P> li>

  2. Cliquez sur le nuage et l'installer. P> li>

  3. puis cliquez sur Addon nuageux. P> li>

  4. à 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>

    1. dans votre type de terminal Ces commandes: li> ol> xxx pré>
      1. dans vos paramètres.py, ajouter li> OL>
        ...
        cloudinary==1.17.0
        django-cloudinary-storage==0.2.3
        
    10. ol Démarrer = "11">
  5. Maintenant, afin de mettre cette image dans votre modèle, vous pouvez Tapez simplement: li> ol> xxx pré>
    1. exigences.txt: li> OL>
              <img src="{{ test_model_instance.image.url }}" alt="{{ 
              test_model_instance.image.name }}">
      


0 commentaires