django - 使用 Django 模型表单上传图像

标签 django django-models django-forms django-file-upload

我无法使用模型形式上传以下模型。我可以在管理员中正常上传,但这对于限制管理员访问的项目并不是那么有用。

#Models.py
class Profile(models.Model):
    name = models.CharField(max_length=128)
    user = models.ForeignKey(User)
    profile_pic = models.ImageField(upload_to='img/profile/%Y/%m/')

#views.py
def create_profile(request):
    try: 
        profile = Profile.objects.get(user=request.user)
    except:
        pass
    form = CreateProfileForm(request.POST or None, instance=profile)

    if form.is_valid():
       new = form.save(commit=False)
       new.user = request.user
       new.save()

return render_to_response('profile.html', locals(), context_instance=RequestContext(request))


#Profile.html
<form enctype="multipart/form-data" method="post">{% csrf_token %}
<tr><td>{{ form.as_p }}</td></tr>
<tr><td><button type="submit" class="btn">Submit</button></td></tr>
</form>

注意:表格中的所有其他数据都保存得很好,照片根本没有上传。感谢您的帮助!

最佳答案

您需要通过request.FILES到您的表格:

form = CreateProfileForm(request.POST, request.FILES, instance=profile)

引用:Handling uploaded files with a model

关于django - 使用 Django 模型表单上传图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13148437/

相关文章:

python - 异常值 :failed to find libmagic. 检查您在 Windows 7 中的安装

python - 如何使用 Ajax 检查 django-celery 任务的状态和结果?

python - Django URLConf 不匹配有效的正则表达式

Django复合在多个模型字段上是唯一的

python - 找不到 GEOS 库

python - Django 返回无效的 ajax 响应

python - 在 Django 中使用抽象多重继承时外键冲突

django - 自定义管理器在现场过滤对象但不在管理中?

python-3.x - Django : Error trying to save form

python - 如何在模型 Django 中创建密码字段