Das ist mein models.py:Django - Hochladen statisches Bild als Standard-Datei Imagefield
def get_profileImage_file_path(instance, filename):
return os.path.join('%s/uploadedPhotos/profileImages' % instance.user_id, filename)
class UserExtended(models.Model):
user = models.OneToOneField(User)
profileImage = models.ImageField(upload_to=get_profileImage_file_path, default='/static/images/myProfileIcon.png')
Nun, ich das Standard-Image will (was in meinem statischen Ordner) auf dem Weg in den
gegeben sparenget_profileImage_file_path
Funktion. In meinem settings.py habe ich definiert MEDIA_ROOT und MEDIA_URL als:
MEDIA_ROOT = '/home/username/Documents/aSa/userPhotos'
MEDIA_URL = '/media/'
Aus irgendeinem Grund, wenn ich das Benutzerobjekt in der Vorlage und in der Vorlage passieren, wenn ich es tue:
<img class='profilePic' src="{{ user.userextended.profileImage.url }}" height='120px' alt="" />
kein Bild erscheint und wenn ich den ‚Inspect Element‘ Abschnitt in Chrom öffne, gibt es einen 404-Fehler Spruch:
GET http://127.0.0.1:8000/home/username/Documents/djcode/aS/aSa/static/images/myProfileIcon.png 404 (NOT FOUND)
obwohl, dass der richtige Dateipfad zu dem Bild ist. (Ich bin mir auch nicht sicher, warum es den gesamten Dateipfad gibt, soll es nicht nur von/static/anfangen? Auch wenn ich 'Quelle' ansehe, ist die gesamte URL da.) Wie mache ich das so? Das Standardbild, das sich im statischen Ordner befindet, wird in den Pfad hoch geladen, der in der Funktion - zur Verfügung gestellt wird?
Haben Sie diese Arbeit ausgeführt? – awidgery