0

これは少しきれいで緑色かもしれませんが、自分のセットアップをゴム製のアヒルに説明しようとすると、目が覚めて自分の髪の毛の山にいることに気づき、アヒルはまだそこにいて、無感情に私を見つめています. それが、問題をSOにエスカレートする時が来たことを知ったときです。

私をイライラさせたのは、最初は信頼できると思われるガイドに従って、virtualenvなどをインストールし、その後、hello worldプロジェクトを開始したときでした。そして、Apache2とgunicornのジレマに直面したWebサーバーで調査しているときに、gunicornを使用してもよいと考えました。あまり考えずに別の Hello World アプリを使い始めたところ、バージョン管理を怠っていたことに気付き、別の Hello World プロジェクトを作成しました。ファイル システムのフォルダー構造と規則をめちゃくちゃにして、ここで 4 番目の django hello world アプリを作成しています。

誰かが私をブートストラップ地獄から救ってくれます。

  • OS: ubuntu 12.04 サーバー lts
  • デシベル:MySQl
  • フレームワーク: ジャンゴ
  • 背景: d3.js を使用してレポート アプリを作成するには
  • 事実: このプロジェクトは PaaS を使用しません

どうやってそれをやったのか、

  1. インストール済み
  2. インストールされたピップ
  3. インストール済みの django ( pip install gunicorn django )
  4. インストールされたガンコーン
  5. nginx のセットアップ
  6. django プロジェクトを開始しました (cmd: startproject、runproject)

----- ここが曖昧な部分です -----

  1. gitのインストール???
  2. django-south をインストールしていますか?
  3. h5bp の追加 (to-do)

私がこれを正しい順序で行っているかどうか、またはdjangoをセットアップするための他の明確なガイドがあるかどうかを知っていただければ幸いです

4

2 に答える 2

1

これは、他の何よりも意見に関するものであるため、答えるのが難しい質問です。そして、誰もが異なる方法で働きます。ただし、推奨事項の背後にある理由を理解すれば、他のブートストラップ スクリプトを判断する準備が整います。

ここでは、確実に処理する必要があるものを示します。

  1. システム全体の Python インストールから開発パッケージを分離します。これを実現するために使用virtual environmentsします。さらに、バージョンがアップグレードされたときに驚かないように、必ずパッケージを固定する必要があります。

  2. 任意の形式のバージョン管理を使用します。git である必要はありません。github.com を使用する必要はありません。mercurial、cvs、bazaar などを使用します。重要な部分は、何かを使用することです。ですから、自分に合ったものを見つけて、始めてください。

  3. 開発の場合は、Web サーバーを気にする必要さえありません。Django には、開発中に使用する必要がある Web サーバーが付属しています。で実行しpython manage.py runserverます。開発が終了したら、wsgi をサポートする任意の Web サーバーをデプロイする必要があります。ドキュメントには、これに役立つ展開ガイドが用意されています。

  4. フォルダーのレイアウトと構造については、誰もが、そして愛犬にも推奨事項があります。問題は、それぞれがそれを推奨する独自の理由があることです。理由を理解していないと、レイアウトにイライラするだけです。したがって、私の提案は、django に付属する標準レイアウトから始めることです。私が追加する唯一のことはdocs/、プロジェクトの任意/すべてのドキュメントを貼り付けるディレクトリを作成することです。すべての要件ファイルを保存し、両方を最新の状態に保つrequirements/ディレクトリ。

最後に、私の提案をいくつか。

  1. mysql を使用するやむを得ない理由がない限り、postgresql を使用してください。postgresql は django で最適に動作し、一部の ORM 機能 (distinct列での使用など) は postgresql でのみ動作します。

  2. テンプレートとビューをシンプルに保ちます。ビューに多くのロジックを詰め込む代わりに、インポートできる他の Python モジュールを作成します。これにより、プロジェクトを簡単に拡張できます (たとえば、API を作成する場合)。テンプレートには、最低限のロジックを含める必要があります。カスタム テンプレート タグを使用する場合は、デバッグが難しいため、できるだけシンプルにしてください。

  3. ORM でカスタム モデル マネージャーやその他のトリックを作成することを恐れないでください。そこでは、アプリケーションの開発を容易にするためにできることがたくさんあります。

  4. django-southが推奨されますが、インストールする前にプロジェクトに与える影響を理解しておいてください。そうしないと、実行されない移行を数回繰り返した後、移行を修正するためにかなりの時間を費やすか、単純にデータベースを削除して最初からやり直すことになります。

于 2013-05-16T06:00:39.727 に答える