/ / DrupalからDjangoに移植する方法は? - django、drupal

DrupalからDjangoに移植するには? - django、drupal

既存のものを移植する最良の方法は何でしょうかDjangoアプリケーションへのDrupalサイト? 私は約500ページ(主に書籍モジュール)と約50のブログ投稿を持っています。私はサードパーティのモジュールを使用していません。 私は現在のURLを保存して(SEOの目的で)、データベースをDjangoに移行したいと思います。私は単純なブログアプリケーションを作成するので、ブログ投稿を移行することは大丈夫です。 Djangoで500以上のページを提供する最良の方法は何でしょうか?私はAdminを使って新しいページを編集/追加したいと思っています。

回答:

回答№1の場合は12

すべてのDjangoの開発は似ており、あなたのパターンはパターンに適合します。

  1. あなたの本やブログ記事のDjangoモデルを定義します。

  2. ユニットテストはDjangoの組み込みテスト機能を使用しています。

  3. レガシーデータをDjangoに読み込むための小さなユーティリティをいくつか書いてください。この時点で、あなたのDjangoモデルは完璧ではないことが分かります。良い。修理する。テストを修正してください。負荷をやり直してください。

  4. デフォルトの管理インターフェースをあなたに設定するモデル。この時点で、管理インターフェースの調整に時間を費やすことになります。データモデルが間違っていることがわかります。それは良いことです。モデルを修正してください。テストを修正してください。あなたの負荷を修正してください。

  5. データが正しいので、従来のページからテンプレートを作成できます。

  6. URLマッピングとビュー関数を作成して、データモデルからテンプレートを入力します。

時間をかけてデータモデルを正しく取得してください。データモデルが堅牢であれば、他のすべてが非常に単純なので、実際には重要です。


回答№2の場合は3

レガシーデータベースで動作するDjangoモデルを書くことは可能かもしれません(私は過去にこれを行っていました; manage.py inspectdb)。

しかし、私は上記のアドバイスに従い、Djangoの規則を使用してデータベースをクリーンアップし、データを移行します。私は通常、Djangoを使用して新しいデータベースに書き込み、未処理のPython DB APIを使用して古いデータベースを読み込む移行スクリプトを作成します(Djangoを 複数のデータベースを同時に、あまりにも)。

私はまた、Djangoの利用可能なブログアプリを見てみることをお勧めします。に含まれているもの Pinax あなたの必要性に合って、Pinaxを出発点として使用してください。


回答№3の場合は0

S.Lott答え 私は何年も後も有効ですが、私は仕事をするためのツールとフォーマットで分析を完了しようとしています。

そこにはDrupalのエクスポートツールがたくさんありますが、私が求めているのと同じ要望で ビューデータソース 形式としてJSONを選択します。このモジュールは非常にしっかりしており、Drupalの最新バージョンで利用できます。ザ JSON フォーマットは解析とエンコーディングの両方で非常に速く、読みやすく、非常にPythonに優しい(輸入json)。

Views Datasourceを使用すると、ノードビューを作成できますノードid(nid)でソートされ、ページごとに限られた数の要素を表示し、ビューパスを設定し、フィルタ識別子を追加し、空のJSON応答を得るまですべての要素を読み込むためにnidを渡します。

Djangoでインポートするときは、次のような幅広いツールも用意されています。 器具をロードするためのロードデータ。 Views DatasourceはJSONをエクスポートしましたが、Djangoがフィクスチャを期待しているため、フォーマットされていません。 カスタム管理コマンド インポートを実行します。ここでインポートフローを完全に制御できます。

nid = 0を渡すコマンドを開始することができます。そのプロシージャに、前のHTTPリクエストで読み取られた最後のnidを渡すだけで、次のページからデータを読み込み、インポートしてからフェッチするようにします。ビューのパスへのアクセスを制限することもできますが、インポート側では追加の設定が必要です。

パフォーマンスに関しては、たとえば、8コア/ 8 GB Linux仮想マシンでDjango 1.8カスタム管理コマンドを使用して、10分間未満で15000個以上のノードを解析してインポートしました。 PostgreSQL DBMSとして、成功とエラーの情報を各ノードのカスタムモデルに記録します。

これらは、これら2つのプラットフォーム間のインポート/エクスポートのための基本です。 Drupalからのエクスポートの主要な手順と、このガイドのDjangoへのインポート.