2015-04-03 103 views
1

我正在使用Django從用戶上傳文件。獲取用戶名和上傳文件

當用戶上傳文件時,我還需要獲取他們的用戶名,並將其添加到模型中。

起初,我是在做自己的用戶名的隱藏的價值,但可以很容易地改變(我看着你,檢查元素!)

所以,我想我已經設定的初始值已經閱讀。

def upload(request): 
    if request.method == 'POST': 
     username = {'uploader': request.user.username} 
     form = UploadForm(request.POST, request.FILES, initial=username) 

但是,我不斷收到一個錯誤,返回上傳器字段沒有設置。 這是我的形式:

class UploadForm(forms.ModelForm): 
    title = forms.CharField(max_length=55) 
    uploader = forms.CharField(widget=forms.HiddenInput(), max_length=25) 
    description = forms.TextInput() 
    image = forms.ImageField() 
    file = forms.FileField() 

    class Meta: 
     model = Packs 
     fields = ('title', 'uploader', 'description', 'image', 'file') 
+0

您應該設置處理'GET'請求的初始字段。 – Rohan 2015-04-03 17:59:43

回答

0

沒有必要在所有發送的用戶名。您已經可以在request.user.username中訪問它,如您自己的代碼所示。如果你可以在GET階段從那裏獲得它,那麼你也可以在POST階段做到這一點。