各Excelファイルのデータがデータベースモデルに挿入されるExcelファイルの管理者アップロードを受け入れるには、Django Adminインターフェイスが必要です。 Djangoモデルの管理ページにこのような「アップロード」ボタンを表示するにはどうすればいいですか?ボタンをクリックすると、アップロードが完了したらデータがデータベースに追加される.xls
ファイルを選択するように管理者に求められます。django経由でExcelデータをモデルにインポートする
答えて
私は物事のDjango側についてはわかりませんが、xlrdを使用してExcelファイルを読み込んで操作できます。
私はこれを行っていますが、ファイルのアップロードを使って簡単なビューを設定しました(実際はこれを直接Django管理ページに追加するよりも理にかなっていますページ= 1つのモデルインスタンス、そしてあなたのExcelに複数のモデルが含まれていると仮定します)。 forms.pyで
、ファイルアップロードフィールドを持つ単純な形views.pyで
class ImportExcelForm(forms.Form):
file = forms.FileField(label= "Choose excel to upload")
、アップロード
def test_flowcell(request):
c = RequestContext(request, {'other_context':'details here'})
if request.method == 'POST': # If the form has been submitted...
form = ImportExcelForm(request.POST, request.FILES) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
excel_parser= ExcelParser()
success, log = excel_parser.read_excel(request.FILES['file'])
if success:
return redirect(reverse('admin:index') + "pages/flowcell_good/") ## redirects to aliquot page ordered by the most recent
else:
errors = '* Problem with flowcell * <br><br>log details below:<br>' + "<br>".join(log)
c['errors'] = mark_safe(errors)
else:
c['errors'] = form.errors
else:
form = ImportExcelForm() # An unbound form
c['form'] = form
return render_to_response('sequencing/file_upload.html')
や他のポストの使用で提案などを処理するためのビューxlrdを実行して、Excelファイルからデータを読み込みます。私はこの
import xlrd
class ExcelParser(object, excel_name):
@transaction.commit_on_success
def read_excel(self):
wb = xlrd.open_workbook(excel_name)
...
do your parsing in here.....
...
用に別のファイルExcelParser.py(私は追加することができ、データをインポートするにはひどい、とエラーが発生しやすい方法です優れています。私は私の仕事で、それの多くを行う、とにしようとしていますより良い解決法があることを経営陣に納得させてください。)
django輸出入が役に立ちます。
adminオブジェクトの2つのボタン "import"と "export"を作成し、xlsを含む多くのタイプの拡張を選択できます。また、実行する前にデータをインポートして確認するように指示します。
INSTALLED_APPSに含めるだけで、アップロードするクラスのインポートエクスポートリソースを作成し、以前に作成したリソースクラスに関連するImportExportModelAdminのサブクラスを作成して、adminにボタンを表示する必要があります。
http://django-import-export.readthedocs.org/en/latest/getting_started.html https://github.com/bmihelac/django-import-export:で
詳細。
- 1. SQLファイルまたはExcelファイルからRails経由でデータベースにデータをインポート
- 2. Djangoモデルから、またはAPI経由でデータを読み込みますか?
- 3. Django - post_saveシグナル経由でm2mデータを保存するには?
- 4. SharepointがExcel経由でデータを編集する方法は?
- 5. ES6経由でリモートファイルをインポートする
- 6. ウェブサービス経由でMS Excelデータをウェブサイトに移動
- 7. Django経由でPythonデータをJavaScriptに渡す
- 8. phpMyAdmin経由でMySQLにXMLファイルをインポート
- 9. モデルをajax経由で編集する
- 10. ASP.NET経由でExcelをユーザーに送信
- 11. SQL Server 2008にExcelデータをインポートする
- 12. ExcelからC#にデータをインポートする
- 13. 3G経由のゲームセンター(GameKit)経由でデータを送受信する
- 14. .net経由でシリアルポート経由でデータを引き出す
- 15. Excel SUM現在の列(Excel :: Template経由)
- 16. Flex:サーブレット経由でExcelをエクスポート
- 17. シリアルポート経由でデータを送信する
- 18. Excelマクロ/ ExcelソルバーをPythonからcom経由で呼び出す
- 19. EMFモデルをGradle経由で生成
- 20. Emberモデルをライブ経由で更新
- 21. Python経由でPostgresにタプルリストをインポートする
- 22. 端末経由でファイルを仮想マシンにインポートする方法
- 23. PUT経由でDjangoでファイルをアップロード
- 24. Linq経由で最初の列にデータを含むExcel行を選択
- 25. C#とOleDb経由でExcelスプレッドシートに行を挿入する
- 26. Excel VBA:VBA経由でセルのトラック変更にアクセスする
- 27. HTTPS経由でDjangoの静的ファイルを提供するには?
- 28. nginx経由でdjangoのメディアファイルを提供するには?
- 29. データ・リレーションシップ・モデルとDjango
- 30. Djangoシェルの起動時に自動的にモデルをインポートする
これは素晴らしい質問です。私が知っている別の開発者がDjangoのもとで必要としていたことです。自分自身のプロジェクトの1つに今必要があります。 ExcelのアップロードがDjango Admin Interfaceにどのように反映されるかを共有できるように、質問を再度開く必要があります。 –
ああ - その間に、人々が調べることができる同様の質問がありますが、それにはExcelファイル形式の代わりに.csvファイル形式が含まれます:http://stackoverflow.com/questions/3974620/ –