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

posted @ 2013-06-16 20:10  Django中国  阅读(841)  评论(0编辑  收藏  举报