Image de profile pour les gymnastes #6
Labels
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Sulley/Ultron#6
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Yo mec !
J'ai voulu ajouter la possibilité de mettre une photo de profil pour les gymnates (branche
gymnast_picture
).J'ai quasi tout fait mais quelques petites choses coincent encore :
La config
J'ai voulu que les images aillent se mettre dans
/static/img/gymnast/
, ca me semblait logique/cohérent. Sauf que Django n'aime pas ca :J'en conclus que je devrait pas définir mon MEDIA_URL/ROOT a l'instérieur de /static/ mais ou alors (pour rester logique et cohérent) ?
(on verra pour les autre problèmes après, si ca se trouvent ils découlent de celui-ci)
A l'extérieur des fichiers statiques (genre, dans
/media
😜 )Les fichiers statiques servent à proposer les fichiers CSS et JS; dans un mode de déploiement (automatique ou manuel), Django va vider ce répertoire pour le remplacer par les nouvelles versions des fichiers.
Dans ce cadre-là, si tu mets tes fichiers media à l'intérieur du répertoire static, tu vas un touuuut petit problème rapidement (à la prochaine version 👊 )
Ok… J'ai donc changé la config et j'ai plus l'erreur django. Ca c'est cool 👍
J'en reviens donc à mon 3ème point : l'envoie du formulaire n'upload pas le fichier :'(
Voici le print de mon formulaire lors de son envoie :
Le champs picture semble vide, pourtant je lui fourni bien un fichier !
Je suis perplexe… Une/des idée(s) ?
(évite les attributions de ticket 😉 sauf si on en a parlé ensemble et que je t'ai dit que je m'en occuperais)
request.FILES
La documentation parle de la gestion des formulaires accompagnés de fichiers (https://docs.djangoproject.com/en/4.0/topics/http/file-uploads/):
Ok. Si je ne t'assigne pas un ticket, comment sais-tu que j'ai besoin de ton aide et que c'est pas juste un ticket que je mets pour moi ?
J'ai lu la doc (j'avais pas encore lu cette partie là), j'ai changer pas mal de truc et ca avance ;-)
Le fichier est up dans le bon dossier et l'adresse de l'image est dans le bon dossier… mais l'image ne s'affiche pas dans le template. Une idée ?
Bah techniquement, j'y répondrai si je peux y répondre.
A partir du moment où tu poses un ticket, c'est généralement que tu as besoin d'un avis.
Mais au final, c'est quand même toi qui fera l'implémentation 😜
Pour tes média, j'ai l'impression que tu as un clash entre l'URL (
/media
) et le dossier (que tu sembles avoir mis à la racine de ton disque, et qui ne sera en fait pas accessible à tous).Tu pourrais poster ta configuration ?
https://sources.grimbox.be/Sulley/Ultron/src/branch/gymnast_picture/config/settings.py#L139
(c/c 22/12/2021)
J'ai lu la doc (j'avais pas encore lu cette partie là), j'ai changer pas mal de truc et ca avance. Mais j'ai un souci d'OS :
SAUF QUE : mes dossier /media et /media/gymnast sont tous les deux en R+W pour tous. Je ne comprends pas d'ou vient l'erreur et Google ne m'aide pas pour l'instant :'(
@Sulley Tu pourrais mettre un chemin absolu pour la configuration de la propriété
MEDIA_ROOT
? Genre/home/Sulley/...
?Mais ca ne merchera plus sur Heroku alors... :-/
Mais j'ai plus de soucis de read-only (c'est pour ca que j'ai effacer le message)
Maintenant mon image est bien la dans le dossier. Et le lien généré semble OK.
Sauf que l'image ne se charge pas avec l'erreur suivante :
Failed to load resource: the server responded with a status of 404 (Not Found)
Aoutch...
https://stackoverflow.com/questions/41474150/using-heroku-for-django-media-files
Bref... S3. 😜
Ok. Je prends note... Mais la, je suis toujours local hein ! J'ai pas encore up sur heroku.
Et j'ai mis cela dans une branche. Donc pour l'instant, rien avoir avec Heroku et je le déploirai sur S3 ou tout ce que tu veux plus tard. Faisons le d'abord fonctionner en local avant d'envisager le reste.
OK OK ! Ca marche !!!!!