Django-fr

Forum

#1 20-06-2009 05:40:07

patrick tefner
Membre
Inscription : 11-08-2010
Messages : 1

des imagefield dans les models

Bonjour,

Je travaille avec la version source de django remis régulièrement à jour.
Pour la première fois, j'ai déclaré dans une classe, un champ tel que : picture = ImageField(upload_to='.')

Mon paramétrage est le suivant :
MEDIA_ROOT = '/home/ptefner/monsite/media/'

MEDIA_URL = 'http://127.0.0.1:8000/media_url/'
ADMIN_MEDIA_PREFIX = '/admin_media/'

Mon test :
Quand je passe par l'interface admin j'arrive à enregistrer mon image à l'adresse indiqué dans MEDIA_ROOT => jusque là OK.
Une fois que l'enregistrement est fait, j'ai la possiblité de voir apparaître le lien de l'image.
Quand je clique sur ce lien, il m'emmène à l'adresse : http://127.0.0.1:8000/media_url/monimage.JPG => pourquoi pas ?
et la page qui apparait est la suivante : The current URL, media_url/monimage.JPG, didn't match any of these.=> pourquoi ?


Est-ce que je dois créé un pattern url /media_url/<picture> ? pour l'associé à un view ?
Est-ce que je dois faire évaluer mon image par PIL ?
Comment je peux m'en sortir ?

Tef.

Hors ligne

#2 20-06-2009 13:57:54

Florian Strzelecki
Membre
Inscription : 11-08-2010
Messages : 40

Re : des imagefield dans les models

Bonjour,

De ce que je peux lire de ta configuration, l'url de l'image me semble
bonne.
Cependant, l'erreur que tu obtiens indique que c'est Django qui analyse la
requête, alors que, ce que tu souhaites, c'est que les fichiers statiques
soient servis par le serveur...

De plus, j'ai l'impression que tu utilises le serveur de développement
fourni avec Django.
Si c'est bien le cas, je te conseille de lire ceci :
http://docs.djangoproject.com/en/dev/howto/static-files/#howto-static-files
Cette documentation (en) t'indiquera comment servir les fichiers statiques
avec Django.

Cependant, pour passer à une version en production (typiquement avec
Apache), tu devras utiliser mod_python ou mod_wsgi (conseillé).
Avec ces deux mod, tu pourras utiliser une technique différente pour serveur
tes médias - et ce sera bien mieux que de passer par Django pour ça ! :-)

En espérant avoir été clair,
Florian.

Le 20 juin 2009 06:40, patrick tefner <ptefner _AT_ yahoo.fr> a écrit :

> Bonjour,
>
> Je travaille avec la version source de django remis régulièrement à jour.
> Pour la première fois, j'ai déclaré dans une classe, un champ tel que :
> picture = ImageField(upload_to='.')
>
>
> Mon paramétrage est le suivant :
> MEDIA_ROOT = '/home/ptefner/monsite/media/'
> MEDIA_URL = 'http://127.0.0.1:8000/media_url/'
> ADMIN_MEDIA_PREFIX = '/admin_media/'
>
>
> Mon test :
> Quand je passe par l'interface admin j'arrive à enregistrer mon image à
> l'adresse indiqué dans MEDIA_ROOT => jusque là OK.
> Une fois que l'enregistrement est fait, j'ai la possiblité de voir
> apparaître le lien de l'image.
> Quand je clique sur ce lien, il m'emmène à l'adresse :
> http://127.0.0.1:8000/media_url/monimage.JPG<http://127.0.0.1:8000/media/monimage.JPG>=> pourquoi pas ?
> et la page qui apparait est la suivante : The current URL,
> media_url/monimage.JPG, didn't match any of these.=> pourquoi ?
>
> Est-ce que je dois créé un pattern url /media_url/<picture> ? pour
> l'associé à un view ?
> Est-ce que je dois faire évaluer mon image par PIL ?
> Comment je peux m'en sortir ?
>
> Tef.
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

Pied de page des forums