私はjqueryフォームプラグインhttp://jquery.malsup.com/form/#getting-startedを使用して画像をdjangoサーバー側にアップロードしています。エラーはありませんが、イメージはMEDIA_ROOTパスに格納されません。私は過去2日間、さまざまなテクニック(試したプラグイン)を試しましたが、何も動いていません。私はあなたのために簡単にするためにすべてを与えました。Django jquery ajax画像アップロード
私の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
ジャンゴModels.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'),
誰も私を助けてもらえますか?
ありがとうございます!
ありがとうございました。しかし、なぜBackground = nullのためにエラーが発生するのですか? – rnk
'request.POST.get( 'photoimg')はあなたのコードに対してNoneを返します。 – John
ここでお手伝いできますか? http://stackoverflow.com/questions/10150301/django-model-has-no-attribute-committed – rnk