Django的构建配方
redsolution.djangorecipe的Python项目详细描述
说明
这是redsolution的fork官方djangorecipe包。 fork是为测试兼容性而创建的,用于在正式存储库中建议更改。
叉子变化:
- 已删除djangoRecipe包中的django要求
- 已从sys.path中删除部件/django path
原始文档:
此构建方法可用于创建django的设置。会的 自动下载django并将其安装到构建的 沙箱。
您可以看到下面一个如何使用配方的示例:
[buildout] parts = satchmo django eggs = ipython versions = versions [versions] django = 1.2.5 [satchmo] recipe = gocept.download url = http://www.satchmoproject.com/snapshots/satchmo-0.6.tar.gz md5sum = 659a4845c1c731be5cfe29bfcc5d14b1 [django] recipe = djangorecipe settings = development eggs = ${buildout:eggs} extra-paths = ${satchmo:location} project = dummyshop
支持的选项
配方支持以下选项。
- 项目
- 此选项设置项目的名称。配方将创建 基本结构(如果项目尚未存在)。
- 项目鸡蛋
- 如果要使用egg,请使用此选项而不是project选项 作为项目。这将禁用项目的生成 结构。
- 巨蟒
- 此选项可用于指定特定的python版本,该版本可以是 与用于运行构建的版本不同。
- 设置
- 您可以设置要与一起使用的设置文件的名称 这个选项。如果你想有一个不同的 开发设置中的生产设置。它默认为 开发
- 额外路径
- 这里指定的所有路径都将用于扩展默认的python bin/*脚本的路径。
- pth文件
- 将从站点.pth文件找到的路径添加到额外路径。 对于像pinax这样维护自己的外部libs目录的设备很有用。
- 控制脚本
- 在bin文件夹中创建的脚本的名称。这个脚本是 相当于django通常创建的manage.py。默认情况下 使用节的名称(在[]之间的部分)。
- wsgi
- 当设置为 正确。这可以与mod_wsgi一起用于部署项目。这个 脚本的名称是control script.wsgi
- wsgilog
- 如果您使用的wsgi服务器不允许打印到stdout, 可以将此变量设置为文件系统路径-所有stdout/stderr数据 被重定向到日志而不是打印
- fcgi
- 类似于wsgi这将在bin文件夹中创建一个额外的脚本。这个 脚本可用于FCGi部署。
- 测试
- 如果希望bin文件夹中的脚本运行 特定应用程序集这是您将使用的选项。设置为 要测试的应用程序标签列表。
- 测试运行器
- 这是要创建的testrunner的名称。它 默认为测试
以下所有选项仅在由指定的项目 尚未创建项目选项。
- urlconf
- 您可以将其设置为特定的url conf。它将通过 默认值。
- 秘密
- 用于settings.py的秘密,它生成一个随机的 默认为字符串。
FCGI特定设置
fcgi的选项可以在设置文件(settings.py)中设置。选项 是fcgi_选项。它应该设置为字典。下面的部分是 示例:
FCGI_OPTIONS = { 'method': 'threaded', }
另一个例子
下一个示例演示如何使用更多选项:
[buildout] parts = django extras eggs = hashlib [extras] recipe = iw.recipe.subversion urls = http://django-command-extensions.googlecode.com/svn/trunk/ django-command-extensions http://django-mptt.googlecode.com/svn/trunk/ django-mptt [django] recipe = djangorecipe settings = development project = exampleproject wsgi = true eggs = ${buildout:eggs} test = someapp anotherapp
使用.pth文件的示例
Pinax使用一个.pth文件向其路径添加一组库;我们可以 指定它的目录以获取它指定的库添加到 路径:
[buildout] parts = PIL svncode myproject versions=versions [versions] django = 1.3 [PIL] recipe = zc.recipe.egg:custom egg = PIL find-links = http://dist.repoze.org/ [svncode] recipe = iw.recipe.subversion urls = http://svn.pinaxproject.com/pinax/tags/0.5.1rc1 pinax [myproject] recipe = djangorecipe eggs = PIL project = myproject settings = settings extra-paths = ${buildout:directory}/myproject/apps ${svncode:location}/pinax/apps/external_apps ${svncode:location}/pinax/apps/local_apps pth-files = ${svncode:location}/pinax/libs/external_libs wsgi = true
上面,我们对pth文件使用stock pinax,对 应用程序和我们自己的项目第一次 列表。请注意,我们希望我们的项目被签出(例如 svn:external)直接位于“myproject”目录下。
使用不同python版本的示例
使用与在 生成的脚本使用如下内容:
[buildout] parts = myproject [special-python] executable = /some/special/python [myproject] recipe = djangorecipe project = myproject python = special-python
mod wsgi的配置示例
如果要使用mod_wsgi部署项目,可以使用 示例作为起点:
<Directory /path/to/buildout> Order deny,allow Allow from all </Directory> <VirtualHost 1.2.3.4:80> ServerName my.rocking.server CustomLog /var/log/apache2/my.rocking.server/access.log combined ErrorLog /var/log/apache2/my.rocking.server/error.log WSGIScriptAlias / /path/to/buildout/bin/django.wsgi </VirtualHost>
更改
1.1.2
- 向弃用警告添加了正确的url
1.1.1
- 修复了python3 trove分类器
1.1
- 支持蟒蛇3。
- 更改了buildout和测试以在nose下运行测试。
- 删除了一些处理下载支持的旧的0.99版本的单元测试。
1.0
- 一个真正的1.0版本的稳定版本。
- 使DjangoRecipe更符合PEP08。
0.99
- DjangoRecipe现在取决于Django。使用version=语句 已弃用。在中指定django版本 [版本]部分。如果需要,请通过developer先生安装django 一个svn/git/hg存储库。其他用途 如果不想升级,请将DjangoRecipe版本设置为0.23.1。 感谢Reinout Van Rees的帮助。
- 删除了Subversion和下载支持。
0.23.1
- 添加了丢失的“导入操作系统”
0.23
- 支持django 1.2和django 1.3的settings/url模板。 如果版本不是1.2,则默认为1.3。
0.22
- 添加了对带有空格的svn url的支持。感谢brad103(修复537718)。
- 更新了代码并构建为使用最新的zc.recipe.egg, zc.recipe.testrunner和python dateutil。
0.21
- 管理url现在配置为django 1.1或更高版本。多亏了 Sam Charrington(修复了672220)。
- 更新了bootstrap.py(修复了501954)。
0.20
- 配方know使setuptools在安装期间了解django包。 关闭397864。感谢丹尼尔布鲁斯和丹费尔斯的补丁。
- 修复了451065,它修复了wsgi日志文件选项的问题。
- 添加posibilty以配置更多与fcgi相关的设置。多亏了瓦西里 苏拉茨科夫的补丁。
0.19.2
- 生成的wsgi&fcgi脚本现在在 选项更改(修复328182)。感谢霍斯特·古特曼 补丁。
- 当依赖项更改时,脚本现在会更新。修复了44658, 感谢保罗·卡杜纳的修补。
0.19.1
- 为wsgi脚本生成中的更改应用了修复程序。上一个 释放不正常。
0.19
- 当使用非最新设置再次运行时,配方将不再 更新subversion签出。多亏维尼利奥斯的修补。
- wsgi和fcgi脚本现在是使用buildout自己的脚本生成的 系统。这使得它们更类似于生成的管理脚本 关于路径的设置。感谢詹尼斯·莱德尔 补丁。
0.18
- 来自鸡蛋和额外路径的路径现在优先于默认路径 系统路径(修复370420)。多亏了霍斯特·古特曼的修补。
- 生成的wsgi脚本现在使用python选项,如果 现在。这将修复361695。
0.17.4
- 修复了不在详细模式下运行时出现的问题(修复了375151)。
0.17.3
- 删除了对setuptools的依赖,因为它似乎不起作用 如我所料。
0.17.2
- 已将下载代码更改为使用urllib2。这应该会起作用的 从后面的代理(修正362822)。多亏了保德的修补。
0.17.1
- 修复了新的wsgi日志选项348797的问题。多亏了 伯特兰·马修的补丁。
- 如果未设置“wsgi log”,则禁用生成wsgi日志,这要归功于 雅各布·卡普兰·莫斯为补丁。
- 更新了buildout.cfg和.bzrignore,谢谢jacob kaplan moss。
0.17
- 添加了一个选项,用于指定输出重定向的日志文件 wsgi脚本。感谢Guido Wesdorp提供的补丁。
0.16
- 现在支持subversion别名(类似于 SVN+mystuff://myjunk)。感谢remco的修补程序。
0.15.2
- 更新以将pth files finder从初始化方法移动到 安装方法,使其按构建顺序运行,否则将查找pth 文件中的文件可能还不存在。感谢Chris Shenton 他的原始补丁的更新。
0.15.1
- 更新以使先前添加的pth文件选项更好 记录在案。
0.15
- 添加了“pth文件”选项以将库添加到 site.pth文件。感谢chris shenton的补丁。
0.14
- 配方现在支持创建fcgi脚本。感谢詹尼斯 莱德尔的补丁。
- 当第一次下载django菜谱时 正确报告从中下载的URL。
0.13
- 现在可以在subversion url中指定用户名。守则 这决定了修订版已经更新。这解决了问题 #274040年。感谢remco的修补程序。
- 更新了用于创建新项目的模板。它现在使用 生成urls.py文件时的当前管理系统。这就解决了 发行编号:276255。感谢罗兰的贴片。
0.12.1
- 重新上载,因为版本中缺少changes.txt
0.12
- 配方不再执行subversion来确定 版本将使用subversion下载。这解决了问题 #271145个。感谢kapil thangavelu的贴片。
- 将“pythonpath”选项更改为“extra path”。这使得 配方更符合其他配方(见第270908期)。
0.11
-
另一个确保确定更新问题(第250811页)。
始终调用update方法。它不会被称为
以前的版本,因为配方写了一个随机的秘密(如果
未指定)到要与模板一起使用的选项。扩建
认为这是一种选择的改变,因此总是决定
卸载和安装。
- 当同时指定projectegg和wsgi=true时,生成的wsgi 文件中没有正确的设置文件。这一直是 修正了丹费尔斯的补丁。
- 配方现在有日志记录。已替换所有打印报表 还增加了一些额外的日志记录调用。这就是配方 有关长时间运行任务的更多信息。谢谢恩尼的修补程序 从第260628期开始。
0.10
- 配方不再需要 释放tarball以与版本号一致。这就解决了 第260097期。感谢Erny报告了这个问题 提出解决方案。
- SVN签出的修订钉现在在重新运行时保持固定 建筑。这将修复问题250811。多亏了REMCO用于 报告此事。
- 添加了一个选项来指定要用作项目的egg。这个 禁用创建基本项目结构的代码。谢谢 丹·费尔斯从第252647期获得补丁。
0.9.1
- 修复了先前版本由于丢失而损坏的问题 清单文件
0.9
- 设置选项是固定的,因此它支持任意深度 设置路径(例如;conf.customer.development)。
- version参数现在也不包括完整的svn url。你可以使用 这将获取分支,或使用 标准svn@语法
- wsgi脚本不再由 运行BuildOut的用户。这样可以避免部署问题。