2011-09-15 17 views
7

Tengo una aplicación de ingreso de mensajes simple con el siguiente modelo "RecordEntry":Necesito un widget para navegar por el sistema de archivos

class RecordEntry(models.Model): 
    client = models.ForeignKey(PostPage) 
    filename = models.CharField(max_length=64, unique=False, blank=True, null=True) 
    descriptor = models.CharField(max_length=64, unique=False, blank=True, null=True) 
    date = models.DateField(_("Date"), default=datetime.date.today) 
    post_type = models.CharField(max_length=50, choices=POST_CHOICES) 
    round = models.CharField(max_length=50, choices=ROUND_CHOICES) 
    pdf = models.CharField(max_length=100, unique=False, blank=True, null=True) 
    html = models.CharField(max_length=100, unique=False, blank=True, null=True) 
    zip = models.CharField(max_length=100, unique=False, blank=True, null=True) 
    psd = models.CharField(max_length=100, unique=False, blank=True, null=True) 

    def __unicode__ (self): 
      return return u'%s %s' % (self.client, self.filename) 

    class Admin: 
      pass 

el pdf, html, código postal, y los campos de PSD llevará a cabo rutas de acceso a los objetos que se mostrarán como enlaces por la plantilla. Mi pregunta es, ¿hay alguna forma en que pueda evitar escribir la ruta completa en estos campos todo el tiempo? ¿Existe algún tipo de artilugio que me permita navegar por el sistema de archivos y capturar la ruta de cualquier elemento en el que haga clic?

+0

¿Por qué no usar FileField? https://docs.djangoproject.com/en/1.3/ref/models/fields/#filefield – Brandon

+0

Puede que me equivoque, pero pensé que FileField realmente cargó el archivo en un directorio de medios especificado en la configuración. Solo quiero hacer referencia a la ruta de acceso a los archivos que ya están en el servidor. FileField puede permitirme hacer eso (lo estoy estudiando ahora), solo asumí que no podría. – kjarsenal

+0

Sí, también maneja la carga. Para explorar un directorio, pruebe FilePathField: https://docs.djangoproject.com/en/1.3/ref/models/fields/#filepathfield – Brandon

Respuesta

1

Esto lo lleva a donde sea?

Is there a filesystem plugin available for django?

Hay un poco de un how-to aquí:

http://rfc1437.de/page/writing-a-simple-filesystem-browser-with-django/

sino que tendría que hacerlo en un widget de selección sí mismo.

+2

Filebrowser/Grapelli es mucho más de lo que necesito. Solo necesito un widget como los de los programas WYSIWYG ... un botón que abre una ventana de directorio; navega hacia su archivo de destino, haga clic en, y la ruta se adentra en su código. Obviamente, es más complicado codificar lo que pensé que sería. – kjarsenal

Cuestiones relacionadas