擅长:python、mysql、java
<p>正如jpic所说,你可以尝试django reversion,或者</p>
<ul>
<li>在数据库中跟踪过去文件的名称,例如在单独的表行、自定义字段或gfk字段中。在</li>
<li>全局文件在线,只要文件名是管理的。在</li>
</ul>
<p>对于第二种方法,实际上对于处理w/all用户上传,最好按照您设计的模式命名文件,而不是使用原始名称(您也可以存储原始名称以供以后使用)。对于您的情况,由于“名称”字段是唯一的,因此如果该字段很少更改,则该字段适合作为生成上载文件的文件名的基础:</p>
<pre><code>import os.path
from django.hash_compat import sha_constructor
def upload_to(self, filename):
return 'nanoz_file/%s%s' % (
sha_constructor(self.name).hexdigest(), os.path.splitext(filename)[-1])
class Probe(models.Model):
name = models.CharField(max_length=200, unique=True)
nanoz_file = models.FileField(upload_to=upload_to, blank=True)
</code></pre>
<p>然后在您的视图中,您可以通过</p>
^{pr2}$