23

プロジェクトに固有の単純なキュー サービスを実装したいと考えています。コードは Django ディレクトリ構造のどこに入れるべきですか?

現在、構造は次のとおりです。

sound/
    __init__.py
    models.py
    tests.py
    views.py
    static

[編集] 上記のディレクトリ構造内で作成したキュー サービス コードを配置する場所を尋ねています。新しいディレクトリを作成する必要がありますか?

4

2 に答える 2

62

共通構造

Django 1.4 以降で

project_root/
   project_name/
       media/
       static/
           some_app/css/app.css  # overriding an app css file from project level
           css/
               project.css
       static_root/  # in production using the collectstatic command
       templates/some_app/foo.html  # overriding some_app at project level
                /admin/some_app/some_model/change_list.html
                # overriding admin changelist for some_app.models.some_model
       settings/
           __init__.py
           base.py    # settings common to all instances of the project
           dev.py
           staging.py
           test.py
           prod.py
       urls.py
   some_app/
       static/
           css/
               app.css
       templates/some_app/foo.html
       urls.py
       views.py
       models.py
   manage.py

Django 1.3 以前

project_root/
   some_app/
       templates/some_app/foo.html
       static/
           css/
               app.css
       urls.py
       views.py
       models.py
   media/
   static/
       some_app/
           css/
               app.css  # overriding an app css file from project level
       css/
           project.css
   static_root/ (in production)
   templates/some_app/foo.html # overriding some_app at project level
            /admin/some_app/some_model/change_list.html
            # overriding admin changelist for some_app.models.some_model
   settings/
       __init__.py
       base.py    # settings common to all instances of the project
       dev.py
       staging.py
       test.py
       prod.py
   urls.py
   manage.py

代替アプローチ

project_root/
    .gitignore
    README.md
    docs/
    venv/
    src/
       main/
           media/
           static/
               some_app/css/app.css  # overriding an app css file from project level
               css/
                   project.css
           static_root/  # in production using the collectstatic command
           templates/some_app/foo.html  # overriding some_app at project level
                    /admin/some_app/some_model/change_list.html
                    # overriding admin changelist for some_app.models.some_model
           settings/
               __init__.py
               base.py
               dev.py
               staging.py
               test.py
               prod.py
           urls.py
       some_app/
           static/
               css/
                   app.css
           templates/some_app/foo.html
           urls.py
           views.py
           models.py
       manage.py
       wsgi.py
于 2012-06-27T08:55:11.793 に答える
1

データベースを使用する必要がある場合は、データ モデルを models.py に追加する必要があります。あなたのプログラムについては、それをいつどこで使いたいかをインポートする新しい python ファイル (queuing.py など) に書くことをお勧めします。このためだけに別の django アプリを作成することもできます。

于 2012-06-26T23:49:56.710 に答える