【发布时间】:2017-04-02 09:09:19
【问题描述】:
你好,我有两个不同的项目,一个项目只有身份验证,另一个只有文件上传和上传到每个用户的个人文件夹(在管理员模式下工作正常),我想连接一个项目。
在第二个项目中,我创建了一个功能,为任何想要使用user_id、user_username 上传文件的用户创建新的个人文件夹(我有很多类似的方法来执行此功能,这是为了测试)。
我不知道如何获取登录用户的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)
【问题讨论】:
标签: python django python-2.7 django-models django-views