2015-04-03 102 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阶段做到这一点。