Mon*_*ona 12 django django-models filefield
我正在使用FileField模型来处理文件上传.现在可以成功上传文件.但是,我还想进行一项小改进,即使用用户名为用户创建文件夹.
这是我试过的代码
class UserFiles(models.Model):
user = models.OneToOneField(User)
file = models.FileField(upload_to='files/users/user.username/%Y_%m_%d/')
Run Code Online (Sandbox Code Playgroud)
这会给'user.username'文件夹而不是'John'(用户名的一个例子)
我也尝试过其他方法files/users/%user.username/%Y_%m_%d/
,但它不会给用户名这个文件夹.不确定语法应该如何或是否可行.
你能就此提出一些建议吗?非常感谢您的帮助和解释.
Vic*_*res 22
而不是字符串尝试传递一个函数:
def generate_filename(self, filename):
url = "files/users/%s/%s" % (self.user.username, filename)
return url
class UserFiles(models.Model):
user = models.OneToOneField(User)
file = models.FileField(upload_to=generate_filename)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13855 次 |
最近记录: |