Ich versuche, meine Uploads einzurichten, so dass, wenn Benutzer Joe eine Datei hochlädt, es zu MEDIA_ROOT/Joe geht, anstatt alle Dateien zu MEDIA_ROOT gehen zu lassen. Das Problem ist, ich weiß nicht, wie ich das im Modell definieren soll. So sieht es derzeit aus:Django FileField mit upload_to zur Laufzeit
class Content(models.Model):
name = models.CharField(max_length=200)
user = models.ForeignKey(User)
file = models.FileField(upload_to='.')
Also was ich will ist statt '.' Als upload_to muss es der Name des Benutzers sein.
Ich verstehe, dass ab Django 1.0 Sie Ihre eigene Funktion definieren können, um die upload_to zu handhaben, aber diese Funktion hat keine Ahnung, wer der Benutzer sein wird, also bin ich ein bisschen verloren.
Danke für die Hilfe!
Ja, es gehört wahrscheinlich in die Dokumentation - es ist eine vernünftige FAQ auf IRC – SmileyChris
Funktioniert das mit ModelForm? Ich kann sehen, dass diese Instanz alle Attribute des Klassenmodells hat, aber es gibt keine Werte (nur eine Str des Feldnamens). In der Vorlage ist der Benutzer ausgeblendet. Ich muss vielleicht eine Frage einreichen, ich habe das stundenlang gegoogelt. – mgag
Ja, es funktioniert, und ja, Sie sollten eine neue Frage stellen (oder um Hilfe auf #django irc bitten) – SmileyChris