Подтвердить что ты не робот

Структура каталога Django?

Я хотел бы реализовать простую службу очередей, специфичную для проекта. Где код должен войти в структуру каталогов Django?

В настоящее время структура:

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

[править] Я спрашиваю, где разместить код службы очереди, который я создал в структуре directcotry выше. Должен ли я создать новый каталог?

4b9b3361

Ответ 1

Общие структуры

В 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

Ответ 2

Если вам нужно использовать базу данных, вы должны добавить модели данных к models.py. Для вашей программы я рекомендую писать ее в новых файлах python (например, queueing.py), которые вы будете импортировать, когда и где вы хотите их использовать. Вы также можете создать другое приложение django для этого.