我正试图在Django创建我的第一个站点,当我在那里寻找可以从中获得灵感的示例应用程序时,我经常偶然发现一个名为“可重用应用程序”的术语。在
我理解一个非常容易重用的应用程序的概念,但是在Django中重用应用程序的方法对我来说是完全不可能的。在整个行业中困扰我的几个问题是:
djangore的首选方式是什么?我该把它放在哪里,如何引用它?在
据我所知,建议是把它放在你的“PYTHONPATH”上,但一旦我需要将我的应用部署到一个我只能访问的远程位置(例如在托管服务上),这个建议就失效了。在
因此,如果我在本地计算机上开发我的站点,并打算将其部署到只有ftp访问权限的ISP上,那么如何重用第三方Django应用程序,以便在部署我的站点时,该站点继续工作(例如,我唯一能指望的是服务提供商安装了Python 2.5和Django 1.x)?在
如何组织我的Django项目,以便我可以轻松地将其与我想使用的所有可重用应用程序一起部署?在
一个老问题,但我要做的是:
如果您使用的是版本控制系统(VCS),我建议您将软件所需的所有可重用应用程序和库(包括django)放入VCS中。如果不想将它们直接放在项目根目录下,可以修改设置.py将他们的位置添加到搜索路径. 在
部署完成后,只需将VCS存储库克隆或签出到您想使用它的任何位置。在
这有两个额外的好处:
当需要更新组件的版本时,请在VCS中更新它,然后通过它将更新传播到部署中。在
一般来说,使用可重用应用程序的唯一要求就是确保它在
sys.path
上,这样就可以从Python代码导入它。在大多数情况下(如果作者遵循最佳实践),可重用的应用程序tarball或bundle将包含一个包含docs、README、一个setup.py
的顶级目录,然后是一个包含实际应用程序的子目录(参见django-voting以获取示例;应用程序本身在“voting”子目录中)。这个子目录是需要放在Python路径中的目录。可能的方法包括:pip install appname
,如果应用程序已经上传到PyPI(现在大多数都是)setup.py install
安装应用程序(这与pip install appname
的结果相同,但需要您首先自己下载并解包代码;pip将为您完成这项工作)setup.py install
或{如果你能启动一个Python解释器并“导入投票”(例如)而没有得到一个ImportError,你就会知道你得到了正确的结果。在
在一个只有FTP访问权限的服务器上,你唯一的选择实际上是最后一个,他们必须为你设置。如果他们声称支持Django,他们必须提供一些地方,您可以在那里上载包,并且可以在Python中导入它们。如果不知道你的网络主机的细节,就不可能说出他们是如何为你构建的。在
相关问题 更多 >
编程相关推荐