2012-08-16 20 views
10

Me he estado rascando la cabeza FileField. ¿FileField requiere un proceso separado?La carga de Django FileField no funciona para mí

Aunque mi URL se guarda ... pero mi archivo no se carga ... ¿qué estoy haciendo mal?

Esta es mi models.py ...

class OpLink(models.Model): 
    user = models.ForeignKey(User) 
    file = models.FileField(blank=True, null=True, upload_to="uploads") 
    url = models.URLField(blank=True, null=True) 

mi forms.py

class OpLinkForm(ModelForm): 
    class Meta: 
     model = OpLink 
     exclude = ('user') 

mi views.py

oplinkform = oplinkform(request.POST) 
       oplink = oplinkform.save(commit=False) 
       oplink.user = user 
       oplink.save() 

y mi html para procesarlo.

<div class="span5"> 
          {{ oplinkform.url|add_class:"span4"|attr:"Placeholder:URL for the item" }} 
          <br><h4>OR</h4><br> 
          {{ oplinkform.file|add_class:"input-file" }} 
          <br /> 
          <input class='btn btn-primary btn-large' type="submit" value='Post' name='action'> 
</div> 
+1

buena pregunta - tenía el mismo problema y totalmente olvidó que Acabo de leer esto ayer cuando aprendí sobre FileField. Gracias por preguntarlo. – nicorellius

Respuesta

27

es necesario incluir los archivos al crear la forma

oplinkform = oplinkform(request.POST, request.FILES) 

También asegúrese de que su forma tiene la enctype correcta

<form enctype="multipart/form-data"></form> 
+2

tan simple ;-) gracias! +1 – nicorellius

+0

es tan simple pero falta por error. Pero Mikael ahorras mi tiempo gracias – Mohini

Cuestiones relacionadas