valums / file-uploaderをdjangoアップロードで実行し、モデルフィールド(FileField)で使用したい
基本的なdjangoモデル:
class Image(models.Model):
user = models.ForeignKey(User)
url = models.FileField(upload_to='%Y/%m/%d')
基本的なビュー、非ajaxアップロードでの作業:
def ajax_upload(request):
if request.method == 'POST':
newfile = Image()
newfile.user = request.user
file_content = ContentFile(request.FILES['file'].read())
file_name = request.FILES['file'].name
newfile.url.save(file_name, file_content)
results = {'url': newfile.url, 'id': newfile.id}
return HttpResponse(json.dumps(results))
raise Http404
問題は、valums Uploaderがファイルを「リクエスト」ファイルに入れず、POSTに入れ、djangoがクエリとして取得することです。
トップコードでそれを使用すると、djangoは次のように述べています。
「キー'ファイル'が見つかりません」
私が変更した場合:
file_content = ContentFile(request.POST)
djangoのコメント:
予想される読み取りバッファー、QueryDictが見つかりました
私はそれを機能させることができますが、それでもdjangoのネイティブファイルのアップロードを保持したいので、はるかにクリーンです。