2010-02-25 28 views
1

J'ai un modèle avec un FileField qui est montré ci-dessous. J'utilise ce modèle sous forme de modèle.champ de formulaire django - comment présenter la valeur dans un modèle de formulaire

receipt = models.FileField(upload_to='receipt/%m-%Y/', max_length=255) 

Je peux enregistrer l'objet et le champ de réception contient l'URL du fichier.

Maintenant, lorsque je présente cet objet avec le formulaire de modèle, l'URL du fichier n'est pas présentée, à la place un message "aucun fichier choisi" est présenté.

Ce modèle est le html que je suis à l'aide du formulaire:

<table cellspacing="5"> 
{{ cash_expenditure_form.as_table }} 
</table> 

et la forme que j'utilise:

classe CashExpenditureForm (forms.ModelForm):

class Meta: 
    model = CashExpenditure 
    exclude = ('project','paid', 'paid_check','invoice','cash_expenditure_selection') 

Lorsque je vérifie cet objet dans l'admin, l'adresse du champ est présentée comme prévu. Ainsi, je pense que quelque chose manque dans le modèle de formulaire html.

Solution:

AdminFileWidget le tour est joué ;-) facile comme toujours ..

Répondre

0

Je ne suis pas sûr que vous pouvez pré-remplir le champ de sélection de fichier.

Le type d'entrée de fichier crée un champ dans lequel les utilisateurs peuvent télécharger des fichiers à partir de leur ordinateur ou réseau local. L'attribut VALUE spécifie le nom du fichier initial, mais il est généralement ignoré par les navigateurs à titre de précaution de sécurité. L'attribut ACCEPT donne une liste de types de médias séparés par des virgules, ce qui permet au navigateur de filtrer les fichiers inappropriés. Les navigateurs actuels ignorent généralement l'attribut ACCEPT.

http://www.htmlhelp.org/reference/html40/forms/input.html

+0

En fait, il se fait dans l'admin. Je cherche juste un moyen de le faire comme dans l'admin django. –

+0

Je cherche juste un moyen de le faire comme dans l'admin django. Dans l'admin, un champ href est présenté avec la valeur réelle et un bouton de sélection de fichier "vide". Je cherche juste le chemin pour accomplir ceci dans Django. –

+0

D'accord - c'est un mauvais commentaire de la part des utilisateurs. Même si le téléchargement est réussi, la présence de ce texte donne l'impression que ce n'était pas le cas. – shacker

Questions connexes