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
時保存用戶字段正常工作 –