gpt4 book ai didi

javascript - Django jquery ajax 图片上传

转载 作者:行者123 更新时间:2023-11-30 18:29:04 25 4
gpt4 key购买 nike

我正在使用 jquery 表单插件 http://jquery.malsup.com/form/#getting-started将图像上传到 Django 服务器端。没有错误,但图像未存储在 MEDIA_ROOT 路径中。在过去的两天里,我尝试了各种技术(试过插件),但没有任何效果。下面我已经给出了一切,让您轻松上手。

我的 HTML 代码:

<form id="uploadform" method="post" enctype="multipart/form-data" action="background/">
<input type="file" name="photoimg" id="photoimg" />
</form>

Javascript 代码:

https://gist.github.com/2377516

Django 模型.py:

class BackgroundModel(models.Model):
user = models.OneToOneField(User)
background = models.ImageField(upload_to='backgrounds')

Django views.py:

    def backgroundview(request):
if request.is_ajax():
b = request.POST.get('photoimg')
try:
g = BackgroundModel.objects.get(user=request.user)
except BackgroundModel.DoesNotExist:
bm = BackgroundModel(background=b)
bm.user = request.user
bm.save()
else:
g.background = b
g.save()
return HttpResponse("")

Django settings.py:

MEDIA_ROOT = '/home/nirmal/try/files/'
MEDIA_URL = 'http://localhost:8000/files/'

Django urls.py:

url(r'^cover/$', login_required(direct_to_template), {'template': 'cover.html'}),
url(r'^cover/background/$', 'cover.views.backgroundview'),

谁能帮帮我?

谢谢!

最佳答案

文件在 request.FILES 中,而不是 request.POST。您没有看到任何错误,因为您从未确认 b 确实有一个值,但令我惊讶的是您没有看到背景不能为空的错误。

此外,您应该为此尝试使用 ModelForm。它将包含许多您必须编写代码的行为。

关于javascript - Django jquery ajax 图片上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10143519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com