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的用户。这样可以避免部署问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Paypal与struts2的集成   不可变对象中的私有final与公共final字段(java)   循环中的swing Java StyledDocument insertString()   正则表达式Java文本过滤器   javaeuler深度优先搜索算法   java在Android Spinner中添加更多项目间空间,而无需自定义样式?   java中字符串和回写的比较   java JSP表单提交和列表填充问题   java正则表达式匹配和替换单词   序列化java标准对象的SerialVersionId会改变吗?   java在Eclipse中缺少对JRE的引用   这个kotlin代码与java的等价物是什么   java如何替换不推荐使用的构造函数DynamoDBMapperFieldModel   java如何从另一个没有包名的类加载器加载类?   java@ManyToMany组织。冬眠映射异常   java如何将textview放置在相对布局的任意位置?   将findAll与MySQL一起使用时,JavaSpring数据JPA异常   hibernate中合并时发生java意外回滚异常(已解决)   html调用中的java函数。回答表单时使用jsp