0
hello我有两个不同的项目,一个项目只有身份验证,其他只有fileupload并且上传到每个用户的个人文件夹(从管理员模式下工作正常),我想连接一个项目。 在第二个项目中,我创建了一个功能,为任何想要上传文件的用户创建新的个人文件夹,使用user_id
,user_username
(我需要许多类似的方法来完成此功能,这是测试)。使用Django验证上传文件
我不知道是怎么拿user_id
或user_name
登录的用户以及如何在views.py中使用它到我的功能generate_path
。 我的事情,所以也许这样user = Photo.objects.get(user__id=user_id)
,但我不知道
def generate_path(user):
return "/{0}/img".format(user.username)
class Photo(models.Model):
user = models.ForeignKey(to=settings.AUTH_USER_MODEL)
file = models.FileField(upload_to=upload_to=generate_path(self.user)))
views.py
@login_required
class BasicUploadView(View):
def get(self, request):
photoslist = Photo.objects.all()
return render(self.request, 'index.html', {'photos': photoslist})
def post(self, request):
form = PhotoForm(self.request.POST, self.request.FILES)
if form.is_valid():
photo = form.save()
data = {'is_valid': True, 'name': photo.file.name, 'url': photo.file.url}
else:
data = {'is_valid': False}
return JsonResponse(data)
在'generate_path'我使用'user_id'正确吗?那个ID必须在视图中用某种方式定义,保存在正确的路径中?或者如果用户登录然后从Django自动执行? –
您需要确保在管理员模式下发布 – micebrain
时保存用户字段正常工作 –