2017-03-14 10 views
0

Djangoを初めて使用していて、ファイルのアップロードに関するアドバイスを求めたいと思っています。ユーザーは複数のファイルをアップロードできますが、ファイルをデータベースに保存したくありません。私はちょうどファイルからデータを取得し、データベースにデータを格納したい。それを行う方法はありますか?ファイルをローカルに保存する方法はありますか?Djangoファイルのアップロードデータを取得してデータベースに保存する

ファイルをローカルに一時的に保存する方法がありましたが、コンピュータごとに異なる独自の(コンピュータの)パスを指定する必要がある例があります。どのコンピュータでもファイルをローカルに保存できるパスを指定する方法はありますか?

私はまだ私はそれをやろうとしていると私はまだ考えているようにコードがないことを謝罪します。

答えて

0

ほとんどの人は、データベースにファイルパスを保存して、Webサーバーにファイルを提供させると言うでしょう。スプレッドシートのようなものをアップロードしない限り、スプレッドシート・プラグインを使用してコンテンツをリストや辞書に入れてモデルとして書き出すことができます。

def handle_uploaded_file(upload): 
    contents = file.read() # Add .decode('ascii') if Python 3 
    my_model = MyModel(some_other_field='something') 
    my_model.field = contents 
    my_model.save() 

class UploadFileForm(forms.Form): 
    title = forms.CharField(max_length=50) 
    file = forms.FileField() 

def upload_file(request): 
    if request.method == 'POST': 
     form = UploadFileForm(request.POST, request.FILES) 
     if form.is_valid(): 
      handle_uploaded_file(request.FILES['file']) 
      return HttpResponseRedirect('/success/url/') 
    else: 
     form = UploadFileForm() 
    return render(request, 'upload.html', {'form': form}) 
:それをあなたが要求した方法を行うにはどのように相続人

関連する問題