だから、私は解決策を見つけることができない問題を抱えています。フロントエンドがangular-jsでなければならないDjangoを使用してアプリケーションを開発しています。フォームをレンダリングし、フォームからデータを投稿できるようになりましたが、これらのフォームを使用してファイルをアップロードする方法がわかりません。
これは私のコードです:
urls.pyで
url(r'^getter/$', TemplateView.as_view(template_name = "upload.html"))
url(r'^getter/test/', views.test, name = "thanks.html")
views.pyで
def test(request):
upload_form = uploadform(request.POST, request.FILES)
data = json.loads(request.body)
file_path = data.path
forms.py で
select_file = forms.FileField(label = "Choose File")
コントローラー内のjsファイルで
myapp.controller('abc', function ($scope, $http)
$scope.submit = function(){
var file = document.getElementById('id_select_file').value
var json = {file : string(file)}
$http.post('test/',json)
...success fn....
...error fn...
}; });
今問題は、私の見解では、もしそうなら
f = request.FILES['select_file']
エラー「select_file」が MultiValueDict に見つかりません: {}
おそらく問題は、投稿リクエストを送信する方法がすべてのメタデータを送信していないことです....これで私を助けてください。私は一日中解決策を探していましたが、役に立ちませんでした。
PS: 一部の制限ポリシーでは Djangular を使用できないため、djangular を使用しないソリューションを教えてください。ありがとう
編集:**サーバーが受信しているjsonにファイルプロパティを適用しても機能しません**