Django ImageField upload_to chemin
Je vais avoir de la difficulté à comprendre et à l'aide de Django reinhardt, ImageField.
J'ai un modèle:
class BlogContent(models.Model):
title = models.CharField(max_length=300)
image = models.ImageField(upload_to='static/static_dirs/images/')
description = models.TextField()
Mon système de fichiers actuellement:
src
|---main_project
|---app_that_contains_blog_content_model
|---static
|---static_dirs
|---images
Quand je lance le serveur et allez à la page Admin, je peux ajouter BlogContent objets. Après avoir choisi une image pour le champ de l'image, l'image a un nom temporaire. Cependant, après que j'ai enregistrer cet objet, je ne peux pas trouver l'image dans le dossier spécifié par le upload_to chemin.
Quelle est la bonne façon de le faire?
OriginalL'auteur user3025403 | 2016-01-02
Vous devez vous connecter pour publier un commentaire.
Votre image devrait être téléchargés à
media
dossier, donc c'est mieux de changer de chemin d'accès dans le modèle commeimages/
, et ils seront à télécharger surmedia/images
Dans
settings.py
ajouter cetteMEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
Dans
url.py
Et puis, si vous souhaitez afficher tous cette image, utilisez quelque chose comme ceci
dans
view.py
BlogContent.objects.all()
Et le rendre comme ceci:
OriginalL'auteur Ivan Semochkin
static
dansupload_to
n'est pas de sens, puisque l'utilisateur les images téléchargées aller dansmedia/
dossier.. vous avez besoin de ces:et toutes les images de la terre:
d'accès dans le modèle comme celui-ci:
dans les paramètres:
OriginalL'auteur doniyor
Vous devriez utiliser les médias chemin, plutôt que statique. Voir docs
OriginalL'auteur Q-bart