【问题标题】:imagefield(upload_to = 'myfolder') not save image in folder - 'myfolder' in djangoimagefield(upload_to = 'myfolder') 不在文件夹中保存图像 - django 中的'myfolder'
【发布时间】:2012-06-23 13:15:50
【问题描述】:

形成html:

<form action='/register/' method = 'post'>{% csrf_token %}
    ...
    <label>Avatar: </label><input type='file' name='avatar' value='' /><br />
    <input type = 'submit' name='submit' value='Sign up' />
</form>

models.py

class Employee(models.Model):
    ...
    avatar = models.ImageField(upload_to = 'avatar', blank = True, null = True)
    ...

和views.py

def register(request):
    success = False
    message = ''
    try:
        newE = Employee.objects.create(...
                                avatar = request.POST['avatar'])
        success = True
        message = 'Register successful!'
        return HttpResponse(json.dumps({'success':str(success).lower(), 'message':message}))
    except:
        Employee.objects.filter(email = request.POST['email']).delete()
        message = 'Can\'t create a new account!'
        return HttpResponse(json.dumps({'success':str(success).lower(), 'message':message}))

settings.py

MEDIA_ROOT = '/home/dotcloud/data/media/'
MEDIA_URL = '/media/'

当我使用 django 管理页面时,图像将加载并保存: http://training-hongquan156.dotcloud.com/media/头像/image.png 但是当我使用html表单上传照片时,图片并没有上传并保存在文件夹'avatar'中,而是保存了路径: http://training-hongquan156.dotcloud.com/media/image.png 我无法加载图像... 有什么问题?

【问题讨论】:

    标签: python django django-models


    【解决方案1】:

    你应该改正

    <form action="/register/" method="post">
    

    <form action="/register/" enctype="multipart/form-data" method="post">
    

    处理上传的文件

    request.FILES['avatar']
    

    然后在目录$upload_to,/home/dotcloud/data/media/photo中找到它

    【讨论】:

      猜你喜欢
      • 2021-06-22
      • 2014-08-31
      • 2015-05-24
      • 1970-01-01
      • 2011-02-08
      • 2020-02-27
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      相关资源
      最近更新 更多