2011-10-26 62 views
1

我读过Django网站中的一些文档,例如:Basic file uploadsFileField.storage。但是,我仍然不明白如何将文件(或图像)上传到服务器并将其链接存储在数据库中。我想将文件写入以下目录,例如:'image /%Y /%m /%d'如何上传图像并将其链接存储在数据库中

请给我一个示例代码。非常感谢。

我的代码如下为:

#models.py 
class Image(models.Model): 
    imageid = models.AutoField() 
    title = models.CharField(max_length=100) 
    imagepath = models.ImageField(upload_to='images/%Y/%m/%d/')  

#forms.py 
class UploadFileForm(forms.Form): 
    title = forms.CharField(max_length=100) 
    image = forms.FileField() 

#views.py 
def upload_file(request): 
    if request.method == 'POST': 
     form = UploadFileForm(request.POST, request.FILES) 
     if form.is_valid(): 
     # How to upload file to folder named 'images/%Y/%m/%d/' 

     # How to save the link above to database 

     return HttpResponseRedirect('/success/url/') 
    else: 
     form = UploadFileForm() 
return render_to_response('upload.html', {'form': form}) 

回答

0

我相信,如果你创建上传表单为模型的形式,然后就保存在视图中,就会有文件保存到文件系统的影响,模型的路径。这是一个基本的例子,但我认为它应该起作用。

# forms.py 
class UploadFileForm(forms.ModelForm): 
    class Meta: 
     model = models.Image 

# views.py 
... 
form = UploadFileForm(request.POST, request.FILES) 
if form.is_valid(): 
    form.save() 
    return HttpResponseRedirect('/success/url/') 
相关问题