どのようにDjangoプロジェクトのレイアウトcookiecutter、ジャンゴと

ここでcookiecutter-のDjangoプロジェクトのレイアウトテンプレート。

する他の同様のプロジェクトテンプレートここで見つけました。

生成されたDjangoの1.8デフォルトのレイアウト

ビルドコマンド:

$ django-admin.py startproject mysite
$ cd mysite
$ django-admin.py startapp my_app

生成されたレイアウト:

mysite/
    manage.py
    my_app/
        __init__.py
        admin.py
        models.py
        tests.py
        views.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

cookiecutter - Djangoプロジェクトのレイアウト

<repository_root>/
    <django_project_root>/
        <configuration_root>/

トップレベル:倉庫のルートディレクトリ<repository_root>

<repository_rootは>配置に加えて、プロジェクト内のすべてのファイルのルートディレクトリである<django_project_root> それはまたのような他の重要な要素の数に置かREADME.rstドキュメント/ディレクトリ、.gitignorerequirements.txtファイルとその他の展開に関連する文書をように。

これは、ディレクトリで実行する必要がありますdjango-admin.py startprojectDjangoプロジェクトを作成するために、(例えば、プロジェクトのルートディレクトリの作成など<django_project_root>

第二層:プロジェクトのルート<django_project_root>

このディレクトリには、実際のDjangoプロジェクトのルートディレクトリで、すべてのPythonコードのファイルが中に配置され、<django_project_root>そのサブディレクトリの下に。

第三層:プロファイルルート<configuration_root>

ルートディレクトリには、モジュールと設定のURLconf(含まれていurls.pyを)。ディレクトリには、(を含む有効なPythonパッケージでなければならないのinitの.pyファイル)。

プロファイルのルートディレクトリにファイルが作られていdjango-admin.py startprojectたコマンドが作成しました。

プロジェクトのレイアウト例

icecreamratings_project/
    .gitignore
    Makefile
    docs/
    README.rst
    requirements.txt
    icecreamratings/
        manage.py
        media/ # Development ONLY!
        products/
        profiles/
        ratings/
        static/
        templates/
        config/
            __init__.py
            settings/
            urls.py
            wsgi.py

これは、icecreamratings_project IS <repository_root> 。

次のようにその他のファイル/ディレクトリが記載されています:

ファイルまたはディレクトリ|目的
---------------------- |
README.rstとドキュメント/ |プロジェクトのドキュメント
のMakefile |複雑な、いくつかの簡単なマクロや展開のタスクが含まれています展開するために使用することができます呼び出し舗装ファブリックの
プロジェクトの依存関係リスト| requirements.txtを
対応<django_project_root>ディレクトリ| icecreamratings /ディレクトリ

ではicecreamratings_project / icecreamratings /ディレクトリ内に、すなわち<django_project_root>ディレクトリ内に、以下のファイル/ディレクトリ:

ファイルまたはディレクトリ|目的
---------------- |
manage.pyのは、 |デフォルトで生成Djangoは、それを変更しない
メディアを/ |唯一の開発環境用:ユーザー生成静的ファイルなどのアップロードなど写真のように。大規模プロジェクトは別に静的ファイルを展開する
静的/ |なようにCSSやJavaScript、画像、などの静的ファイルを、非ユーザー生成。大規模プロジェクトは別に静的ファイルを展開する
製品/ディレクトリ| Djangoのアプリケーションディレクトリの
プロフィール/ディレクトリ|別のジャンゴAPPディレクトリの
評価/ディレクトリ|別のジャンゴAPPディレクトリの
テンプレート/ディレクトリ| Djangoプロジェクト・レベルのテンプレートディレクトリ

VIRTUALENVをどのように扱いますか?

一緒にいないVIRTUALENVディレクトリとプロジェクトファイルを実行し、別のA統一ディレクトリの下に配置する必要があります。

すべての依存ファイルは、情報に書かれていませんrequirements.txtので、何のバージョン制御管理に追加VIRTUALENVの内容をカタログする必要があります。

例えば、プロジェクトのために:

Mac OS XおよびLinuxでは、対応するプロジェクトディレクトリとvirtualenvのディレクトリが指定できます。

~/projects/icecreamratings_project/
~/.envs/icecreamratings/

勝つには、対応するプロジェクトディレクトリとvirtualenvのディレクトリが指定できます。

c:\projects\icecreamratings_project\
c:\envs\icecreamratings\

あなたはvirtualenvwrapperする(Mac OS XまたはLinux)またはvirtualenvwrapperウィン(Windows)を使用して使用する場合は、ルートディレクトリはvirtualenvのは次のようになり、「〜/ .virtualenvs /」、項目virtualenvのディレクトリへの対応がされるであろう:~/.virtualenvs/icecreamratings/

すべての現在の環境の依存関係をリストします。

$ pip freeze --local

cookiecutterを使用してstartprojectのプロジェクトテンプレート

cookiecutter-Djangoは Pythonの2.7以降および3.3+、Djangoの1.8 +をサポートしています。

  1. インストールcookiecutter:
$ pip install cookiecutter
  1. cookiecutterを実行し、プロジェクトをビルドするために使用されたテンプレートへのパスを指定します。
$ cookiecutter https://github.com/pydanny/cookiecutter-django

プロジェクトの操作中に、関連するプロジェクト名、データベース構成およびその他の構成情報を要求します。

実行例:

Cloning into 'cookiecutter-django'...
remote: Counting objects: 2358, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 2358 (delta 4), reused 0 (delta 0), pack-reused 2346
Receiving objects: 100% (2358/2358), 461.95 KiB, done.
Resolving deltas: 100% (1346/1346), done.
project_name (default is "project_name")? icecreamratings
repo_name (default is "icecreamratings")? icecreamratings_project
author_name (default is "Your Name")? Daniel
and Audrey Roy Greenfeld
email (default is "[email protected]")? [email protected]
description (default is "A short description of the project.")? A website
for rating ice cream flavors and brands.
domain_name (default is "example.com")? icecreamratings.audreyr.com
version (default is "0.1.0")? 0.1.0
timezone (default is "UTC")? America/Los_Angeles
now (default is "2015/01/13")? 2015/05/18
year (default is "2015")?
use_whitenoise (default is "y")?
github_username (default is "audreyr")? twoscoops
full_name (default is "Audrey Roy")? Daniel and Audrey Roy Greenfeld
  1. プロジェクトディレクトリに生成されました

$ cd icecreamratings_project

  1. gitリポジトリを作成します。
$ git init
$ git add .
$ git commit -m "first awesome commit"
$ git remote add origin [email protected]:somebody/icecreamratings.git
$ git push -u origin master

もう一つは、README.rstファイルを変更することを忘れ。

参考文献:Djangoの二つのスクープ:Djangoの1.8のベストプラクティス

おすすめ

転載: www.cnblogs.com/haiiiiiyun/p/12558587.html