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/目录下面