J'essaie de configurer mes téléchargements de sorte que si l'utilisateur joe télécharge un fichier, il passe à MEDIA_ROOT/joe au lieu que les fichiers de tout le monde passent à MEDIA_ROOT. Le problème est que je ne sais pas comment le définir dans le modèle. Voici à quoi il ressemble actuellement:Django FileField avec upload_to déterminé à l'exécution
class Content(models.Model):
name = models.CharField(max_length=200)
user = models.ForeignKey(User)
file = models.FileField(upload_to='.')
Donc ce que je veux, c'est '.' en tant que upload_to, que ce soit le nom de l'utilisateur.
Je comprends que depuis Django 1.0 vous pouvez définir votre propre fonction pour gérer le upload_to mais cette fonction n'a aucune idée de qui sera l'utilisateur, donc je suis un peu perdu.
Merci pour l'aide!
Ouais, il appartient probablement à docs - c'est une FAQ raisonnablement sur IRC – SmileyChris
Est-ce que cela fonctionne avec ModelForm? Je peux voir que cette instance a tous les attributs du modèle de classe, mais il n'y a pas de valeurs (juste une str du nom du champ). Dans le modèle, l'utilisateur est caché. Je peux devoir soumettre une question, j'ai été googling ceci pendant des heures. – mgag
Oui cela fonctionne, et oui vous devriez poser une nouvelle question (ou demander de l'aide sur #django irc) – SmileyChris