Rol*_*epp 19 python django code-reuse
我正在尝试在Django中创建我的第一个站点,因为我正在寻找示例应用程序以从中汲取灵感,我经常偶然发现一个名为"可重用应用程序"的术语.
我理解一个可重用的应用程序的概念很简单,但在Django中重用应用程序的方法对我来说已经完全失去了.在整个企业中,几乎没有什么问题困扰我:
重用现有Django应用程序的首选方法是什么?我在哪里放它,我该如何引用它?
根据我的理解,建议将它放在你的"PYTHONPATH"上,但是一旦我需要将我的应用程序部署到我有限访问权限的远程位置(例如在托管服务上),就会中断.
因此,如果我在本地计算机上开发我的网站并打算将其部署在我只有ftp访问权限的ISP上,我该如何重新使用第三方Django应用程序,这样如果我部署我的网站,该网站将继续工作(例如我唯一能指望的是服务提供商安装了Python 2.5和Django 1.x)?
如何组织我的Django项目,以便我可以轻松地将它与我想要使用的所有可重用应用程序一起部署?
Car*_*yer 26
通常,使用可重用应用程序所需的唯一方法是确保它已启用sys.path,以便您可以从Python代码中导入它.在大多数情况下(如果作者遵循最佳实践),可重用的应用程序tarball或包将包含带有docs的顶级目录,README,a setup.py,然后是包含实际应用程序的子目录(请参阅django-voting的示例;应用程序本身位于"投票"子目录中).该子目录需要放在Python路径中.这样做的可能方法包括:
pip install appname,如果应用程序已上传到PyPI(这些天大多数都是)setup.py install(这与结果相同pip install appname,但要求您首先自己下载并解压缩代码; pip将为您执行此操作)setup.py install或者pip install appname使用virtualenv激活,或者在virtualenv的site-packages中放置或者混合使用应用程序(强烈推荐所有"全局"安装"选项,如果你重视未来的理智"如果您可以启动Python解释器并"导入投票"(例如)而不会获得ImportError,您就会知道自己已经找到了正确的位置.
在只有FTP访问权限的服务器上,您唯一的选择就是最后一个选项,他们必须为您设置它.如果他们声称支持Django,他们必须提供一些可以上传包的地方,并且可以用Python导入.如果不知道您的webhost的详细信息,就不可能说出它们是如何为您构建的.