2011-09-15 19 views
7

Tôi có một ứng dụng trang gửi bài đơn giản với "RecordEntry" mô hình sau:Tôi cần một widget để duyệt qua các hệ thống tập tin

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 

pdf, html, zip, và các lĩnh vực psd sẽ giữ con đường cho những đối tượng đó sẽ được hiển thị dưới dạng liên kết theo mẫu. Câu hỏi của tôi là, có cách nào tôi có thể tránh thực sự gõ toàn bộ đường dẫn trong các trường này mọi lúc không? Có một widget của một số loại mà sẽ cho phép tôi duyệt các hệ thống tập tin và chụp đường dẫn của bất kỳ mục nào tôi bấm vào?

+0

Tại sao không chỉ sử dụng FileField? https://docs.djangoproject.com/en/1.3/ref/models/fields/#filefield – Brandon

+0

Tôi có thể nhầm lẫn nhưng tôi nghĩ FileField thực sự đã tải tệp lên một thư mục phương tiện được chỉ định trong cài đặt. Tôi chỉ muốn tham chiếu đường dẫn đến các tệp đã tồn tại trên máy chủ. FileField có thể cho phép tôi làm điều đó (tôi đang nghiên cứu nó bây giờ), tôi chỉ giả định rằng nó có thể không. – kjarsenal

+0

Có, nó cũng xử lý việc tải lên. Để duyệt một thư mục, hãy thử FilePathField: https://docs.djangoproject.com/en/1.3/ref/models/fields/#filepathfield – Brandon

Trả lời

1

Điều này đưa bạn đến bất cứ đâu?

Is there a filesystem plugin available for django?

Có một chút của một ở đây như thế nào-to:

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

nhưng bạn sẽ phải làm cho nó thành một sự lựa chọn phụ tùng chính mình.

+2

Filebrowser/Grapelli là cách nhiều hơn tôi cần. Tôi chỉ cần một widget như những cái trong chương trình WYSIWYG .. một nút mở ra một cửa sổ thư mục; bạn điều hướng đến tệp đích của mình, nhấp và đường dẫn chuyển vào mã của bạn. Rõ ràng, nó liên quan đến mã hơn tôi nghĩ nó sẽ là. – kjarsenal

Các vấn đề liên quan