【发布时间】:2014-07-31 13:09:25
【问题描述】:
我想为用户上传的文件创建用户特定的文件夹。这是我的views.py:
@login_required
def list(request):
# Handle file upload
if request.method == 'POST':
form = DocumentForm(request.POST, request.FILES)
if form.is_valid():
newdoc = Document(docfile = request.FILES['docfile'])
newdoc.save()
# Redirect to the document list after POST
return HttpResponseRedirect(reverse('upload.views.list'))
else:
form = DocumentForm() # An empty, unbound form
# Load documents for the list page
documents = Document.objects.all()
# Render list page with the documents and the form
return render_to_response(
'upload/list.html',
{'documents': documents, 'form': form},
context_instance=RequestContext(request)
)
这是我的models.py:
class Document(models.Model):
docfile = models.FileField(upload_to='uploads/%Y.%m.%d')
我的想法是这样的。我没有将其命名为uploads/%Y.%m.%d,而是将用户名粘贴在其中的某处。有没有办法做到这一点?
【问题讨论】:
-
在 form.is_valid() 之后传递当前用户:
user = request.user并将其作为参数传递给您的模型。