【发布时间】:2016-09-18 23:52:43
【问题描述】:
我正在制作一个应用程序,用户可以在其中将文件上传到 AWS S3 存储桶。每个用户在注册时都会根据他们的userID 在media 文件夹中获得一个文件夹我如何允许我的用户将他们的项目上传到他们的文件夹中?文件上传得很好,但上传到名为None 的文件夹。这似乎是一个简单的答案,但我似乎找不到它。
这是我的意见。py
def new(request):
title = "Add New Project"
if not request.user.is_authenticated():
raise Http404
form = ProjectForm(request.POST or None, request.FILES or None)
if form.is_valid():
instance = form.save(commit=False)
instance.fileLocation = request.user.id
instance.user = request.user
instance.save()
return redirect("/dashboard/")
context = {
"form": form,
"title": title,
}
这是我的models.py
from django.db import models
from django.conf import settings
# Create your models here.
class Project(models.Model):
fileLocation = None
user = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True)
title = models.CharField(max_length=200)
description = models.TextField()
sell = models.BooleanField(default=False)
timestamp = models.DateTimeField(auto_now_add=True)
image = models.FileField(upload_to=fileLocation, null=True, blank=True)
def __str__(self):
return self.title
这是我的 forms.py(以防万一)
from django import forms
from .models import Project
from django.contrib.auth.models import User
class ProjectForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ProjectForm, self).__init__(*args, **kwargs)
self.fields['image'].required = True
class Meta:
model = Project
fields = [
'title',
'description',
'image',
'sell',
]
【问题讨论】:
标签: python django amazon-web-services amazon-s3