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?
Tại sao không chỉ sử dụng FileField? https://docs.djangoproject.com/en/1.3/ref/models/fields/#filefield – Brandon
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
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