2014-04-19 102 views
0

在django 1.6中,我有一個命令用於對數據庫進行分析,並帶有一組函數。django目錄結構模塊的命令

├── management 
│   ├── __init__.py 
│   └── commands 
│    ├── __init__.py 
│    ├── analysis.py 

我喜歡打破analysis.py在一組文件(可能是模塊...)。 模塊用於django命令的正確目錄結構是什麼?

也許是這樣的...?

├── management 
│   ├── __init__.py 
│   ├── analysis_module 
│   └── commands 
│    ├── __init__.py 
│    ├── analysis.py 

和測試爲analysis_module,究竟是什麼的analysis_module測試正確ubication?

+0

對我來說似乎很合理。 [這個答案](http://stackoverflow.com/questions/5836075/are-there-any-purposes-for-the-management-folder-in-django-other-than-commands)意味着'管理'目錄並沒有太多的用處,所以我懷疑有沒有把你的通用代碼放在那裏的風險。 –

+0

如果分析模塊可能可重用,我會將其從您的應用程序中完全移出,並將其導入到您的'analysis.py'命令中。我喜歡將django應用程序/模塊和非django/python模塊儘可能分開 –

+0

@ TimmyO'Mahony是的,我正在考慮像您一樣的解決方案,並將其添加爲答案。但我不確定是否是正確的導入方式... – JuanPablo

回答

0

一個選項,把代碼modude了Django項目

├── analysis_module 
├── test 
├── django_project 
│   ├── app 
│   │   ├── __init__.py 
│   │   ├── admin.py 
│   │   ├── management 
│   │   │   ├── __init__.py 
│   │   │   └── commands 
│   │   │    ├── __init__.py 
│   │   │    └── analysis.py 
│   │   ├── models.py 
│   │   ├── tests.py 
│   │   ├── urls.pyc 
│   │   └── views.py 
│   └── django_proyect 
│    ├── __init__.py 
│    ├── settings.py 
│    ├── urls.py 
│    └── wsgi.py 

,但對於這一點,我需要的模塊添加到路徑sys.path也許在manage.py

# manage.py 
sys.path.append(os.path.abspath(__file__ + '/../../')) 

和進口從分析命令

# analysis.py 
import analysis_module 

用這個我可以把測試分別爲analysis_module。