2016-09-20 6 views
0

私はPythonファイルの内容をデータベースに保存する必要があります。私はDjangoプロジェクトからデータベースにロードできるようにフィクスチャを作成しています。ファイルの内容を保持できるJSONオブジェクトの作成

どこから始めたらよいか分かりません。このサイズは、JSONオブジェクトに対処する必要がある問題です。

編集:私のアプリでは、ユーザーが何らかのアクションを行うPythonファイルをアップロードして何らかの結果を得られるアップロードオプションがあります。ユーザーが自分のアプリケーションのパフォーマンスに満足している場合、彼はスクリプト(Pythonファイル)を保存していつでも実行できます。

これまでのところ、私はpythonファイルを格納するために静的ファイルの場所を使用しています。ファイルがシステムにアップロードされるたびに自分のSCMを更新するのではなく、無限の記憶領域を持つという前提で自分のデータベースに格納するようにしています。

+0

Djangoフィクスチャの作成と使用に関するドキュメント? – Soviut

+0

はい、私はしました。私は初期の実装を書いていますが、この特定のものについては、JSONにどのように追加できるかわからないファイルの内容が必要です。また、私はどのように私のpythonファイルの条件に対処することができるか分からない。 –

+0

どのようなファイルを保存しようとしていますか?あなたが何をしようとしているかについてさらに多くの情報を提供する必要があります。この質問はあまりにもあいまいであるため閉鎖されます。 – Soviut

答えて

1

フィクスチャを手動で作成しないでください。テストデータベースにデータを入力し、manage.py dumpdataを使用してエクスポートする必要があります。

Django FileFieldImageFieldはどちらも、staticfilesの場所へのパスを保存しますが、ファイルの内容は直接保存しません。

テキストファイルの内容を保存しようとしている場合は、TextFieldに保存することができます。これをJSONで表現するには、特殊文字(きれいな引用符やアクセントなど)を扱うためにUTF8にエンコードし、行末が\nなどになるようにエスケープする必要があります。

+0

私は今まで同じことをしていましたが、ファイルがアプリケーションにアップロードされるたびに自分のSCMを変更したくないため、これらのファイルを保存するためのファイルパスを持つことは望ましくありません。 –

+0

静的ファイルをバージョン管理するべきではありません。通常、静的ファイルは、S3やAkamaiなどのCDNのように全く異なる場所に保存されます。ポイントは、フィクスチャは、ファイル自体ではなく、その静的な場所へのファイルパスを保存することです。 – Soviut

関連する問題