python目录结构采用的是,django项目目录结构和python路径

我试图从一开始就为开发我的django项目设置尽可能好的设置,但是我很难让所有的东西都在目录结构中很好地发挥作用。我已经设置了virtualenv(本例中为env),以便可以为每个django项目部署一个干净的空python环境。

基本结构如下:/env/

/bin

/db

/downloads

/lib

/static

/project/

/__init__.py

/settings.py

/manage.py

/appsfolder/

/appname/

/__init__.py

/models/

/__init__.py

/somemodel.py

/urls/

/__init__.py

/someurl.py

/views/

/__init__.py

/someview.py

这是基本布局;我希望每个项目都有一个用于应用程序的目录,并且在每个应用程序中都有一个用于模型、视图和url的单独文件夹。

我遇到的问题是python路径以及如何处理模块。

在应用程序中,我不想在导入模型时引用项目,即我应该使用:import appname.models.modelname

不是:import projectname.models.modelname

帮助重用

在models目录中,我有以下init.pyfrom model1 import ModelName1

from model2 import ModelName2

from model3 import ModelName3

__all__ = ['ModelName1', 'ModelName2', 'ModelName3']

但是当我尝试使用一个单独的url文件(in/appname/url/url file.py)并导入如下模型时:from appname.models.somemodel import ModelName

我得到一个“模块未找到”错误。

当:from appsfolder.appname.models.somemodel import ModelName

工作正常

我认为这是因为应用程序不是直接在python路径上,而是在一个名为appsfolder的子文件夹中,但是我不确定如何着手解决这个问题,同时保持所有东西的可重用性和相对性。

我知道一个解决方案是将所有应用程序直接放在网站包下的python路径上,但是我并不喜欢这个想法,因为我认为如果您使用virtualenv的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值