django中文件(头像)上传

时间:2023-03-10 06:58:37
django中文件(头像)上传

一些常用的小功能,记录下来

先说一种上传功能。

模板表单

        <form  enctype="multipart/form-data"  name="form1" method="POST" action="" >
{% csrf_token %}
<table>
<tr>
<td>标题</td>
<td>
<input name="avatar" type="file" size="60" />
<img src="/media/{{userInfos.2.avatar}}" width="120px" height="120px"/>
</td>
</tr> <tr>
<td></td>
<td><input type="submit" name="ok" value="--修改--"/></td>
</tr> </table>
</form>

后台处理

    if request.POST.has_key['ok']:
userProfile.avatar=utility.SaveFile(request.FILES['avatar'],'avatar/') userProfile.save()
utility.SaveFile函数如下
def SaveFile(file,path='',fileName=''):
fileName=file._get_name() if fileName=='' else fileName
filePath=str(path)+str(fileName)
rootFilePath='%s%s' %(settings.MEDIA_ROOT,filePath)
fd=open(rootFilePath,'wb')
for chunk in file.chunks():
fd.write(chunk)
fd.close()
return filePath

我设置的settings.MEDIA_ROOT='D:/mysite/TBlog/TBlog/media/'

上面的图片将上传到

D:/mysite/TBlog/TBlog/media/avatar/目录下面