跳转到主要内容

Django的Buildout配方

项目描述

isotoma.recipe.django可以用来安装Django。它与djangorecipe非常相似,只是将Django当作一个合适的egg处理。

此配方将在您的bin/目录中提供三个脚本(假设未设置control-script选项)

bin/django

此脚本与任何典型django项目中找到的manage.py脚本完全相同;例如,您可以运行“bin/django syncdb”。

bin/django-admin

本脚本等同于使用 apt 或 easy_install 安装 django 时可用的项目无关的 django-admin 脚本。

bin/django.wsgi

一个可选的脚本,如果将 wsgi 选项设置为“true”,则会创建此脚本。此脚本设计为由 Web 服务器调用。

整个配方假设您的项目是一个 egg,并且您项目中的任何应用程序 不需要 在 sys.path 上,因此它们相互引用

from yourproject.yourapp import models

示例

[buildout]
parts = django
versions = versions
eggs =
    foo
    django-treebeard

[django]
recipe = isotoma.recipe.django
project = foo
settings = production
wsgi = true
eggs = ${buildout:eggs}

[versions]
Django = 1.3.1

支持选项

project

您的 django 项目的名称,无论是开发 egg 还是普通 egg。请注意,isotoma.recipe.django 不会 为您创建项目,如果它不存在。

settings

要使用的设置文件 在您的项目内部 的名称,允许您创建一个包含开发设置的 settings.py 文件,以及一个 production.py 文件,该文件导入开发设置并在必要时覆盖它们。这样,您只需将此值从“settings”更改为“production”。默认为“settings”。

extra-paths

要添加到 sys.path 的任何额外路径,这些路径应可供您的项目 egg / develop-egg 使用。

wsgi

默认为 false。如果为‘true’,则创建一个 bin/django.wsgi 脚本,可以将其添加到 Web 服务器配置中(例如使用 isotoma.recipe.apache - 见下文)。

bin-on-path

此功能将构建 out bin/ 目录追加到 os.environ[‘PATH’],以便您的 django 项目可以访问构建 out 可执行文件。例如,如果您在构建 out 构建中安装了 sphinx 并希望从 django 内部访问 sphinx 可执行文件(如 readthedocs.org 项目中那样),这可能很有用。

environment.foo

例如

environment.celery = "django"

用于使更多环境变量可供您的 django 项目使用。可以在“environment.”之后添加任何值。上面的示例添加

os.environ["celery"] = "django"

到 django 管理脚本中。

control-script

主管理脚本的名称。默认为“django”,因此如果您的 buildout:bin-directory = “bin”(默认情况),则您的管理脚本将位于“bin/django”,而您的 wsgi 脚本将位于“bin/django.wsgi”。

eggs

您希望提供给 django 项目的 eggs。

extra-settings

提供一组额外的设置,以覆盖项目中 django 的设置,例如。

extra-settings =
    DATABASES['default']['USER'] = 'username'
    DATABASES['default']['PASSWORD'] = 'password'

由项目设置和额外设置组成的设置文件将部分编译,添加到 sys.path,然后设置为您 bin 目录中生成的控制脚本中的 django 设置环境变量。

Bugs

该项目正在积极维护,并且可以在此处报告错误:https://github.com/isotoma/isotoma.recipe.django/issues

使用 isotoma.recipe.apache 的示例

此示例显示了如何

可以组合起来创建 wsgi 脚本和可以运行该脚本的 apache 配置。生成的 apache 配置只需链接到 /etc/apache2/sites-available 即可。

[buildout]
parts =
    django
    apache
versions = versions
eggs =
    foo
    django-treebeard

[django]
recipe = isotoma.recipe.django
project = foo
settings = production
wsgi = true
eggs = ${buildout:eggs}

[eggpaths]
recipe = isotoma.recipe.eggpaths
eggs =
    Django
    foo

[facts]
recipe = isotoma.recipe.facts

[apache]
recipe = isotoma.recipe.apache:wsgi
interface = ${facts:interface.eth0.address}
sitename = example.com
serveradmin = webmaster@example.com
daemon = True
user = ${facts:user.name}
group = ${:user}
processgroup = ${django:project}
processes = 5
threads = 10
wsgi = django.wsgi
static_aliases = /admin/media:${eggpaths:Django}/django/contrib/admin/media
                 /static:${eggpaths:foo}/foo/static
                 /media:${buildout:directory}/var/media

[versions]
Django = 1.3.1

更改

3.1.5 (2011-12-08)

  • 添加了 extra-settings 选项,以将构建 out 配置中的设置行注入。

3.1.4 (2011-10-25)

  • 修复了防止更新 django 脚本工作集的漏洞。

3.1.3 (2011-10-13)

  • 发布文档 - 充实了 README 文档。

3.1.2 (2011-10-06)

  • Buildout 现在在必要时清理 django 脚本。

  • 配方不再依赖于 Jinja2。

  • 在配方中添加了构建 out 配置和空项目作为快速脏的配方测试。

  • 现在可以将环境变量添加到 bin/django(.*) 脚本中,例如,添加 os.environ[‘CELERY_LOADER’] = ‘django’。

3.1.1 (2011-09-18)

  • 在依赖关系中正确大写 Jinja2,以便可以正确固定。

  • 添加了新选项:“bin-on-path”,如果为 true,则将在每个 django 脚本中将构建 out bin 目录添加到 os.environ[‘PATH’] 中。

3.1.0 (2011-09-14)

  • 由于一个使用离线模式下工作集的bug,鸡蛋从未被安装。现在我们继承了zc.recipe.egg.Egg,它为我们提供了一个标准的working_set方法来正确地确定工作集。

3.0.3 (2011-09-14)

  • 修复了extra-paths bug,其中空白extra-paths选项会将当前目录添加进去。

  • 使配方符合PEP-8规范。

3.0.2 (2011-06-30)

  • 将应用添加到设置中的已安装应用。

  • 创建一个可以运行创建的应用的测试运行器。

  • 为应用创建一个初始的setup.py。

  • 创建一个urls.py,包含合理的默认设置,包括在调试模式下提供静态文件。

  • 创建一个settings.py和production.py层次结构,以启用设置覆盖。

  • 可以从特定的URL下载django。

  • 在bin/django*脚本中添加了extra-paths选项,用于将路径追加到sys.path。

2.0.0

  • 从头开始重写,使用django egg,而不是下载tarball。这移除了使用SVN trunk的能力。

1.2.3

  • 添加了server_email buildout设置。将在settings.py中设置SERVER_EMAIL,以便服务器可以正确发送电子邮件。

1.2.2

  • 为预发布环境部署添加了staging.py的创建。

  • 项目路径现在被正确添加到buildout中。

1.2.1

  • 更新了文档。

1.0

  • 从djangorecipe分叉,并重命名为isotoma.recipe.django。

0.20

  • 配方现在使setuptools在安装期间知道django包。这解决了#397864。感谢Daniel Bruce和Dan Fairs的补丁。

  • 修复了#451065,该补丁解决了WSGI日志文件选项的问题。

  • 添加了更多与FCGI相关的设置配置的可能性。感谢Vasily Sulatskov的补丁。

0.19.2

  • 当选项更改时,现在会正确删除生成的WSGI & FCGI脚本(修复了#328182)。感谢Horst Gutmann的补丁。

  • 当依赖项更改时,现在会更新脚本。这解决了#44658,感谢Paul Carduner的补丁。

0.19.1

  • 应用了WSGI脚本生成更改的修复。上一个版本无法正常工作。

0.19

  • 再次以非最新版运行时,配方将不再更新Subversion签出。感谢vinilios的补丁。

  • 现在使用Buildout的自身系统生成WSGI和FCGI脚本,这使得它们在路径设置方面与生成的manage脚本更相似。感谢Jannis Leidel的补丁。

0.18

  • 来自egg和extra-paths的路径现在比默认系统路径具有优先权(修复了#370420)。感谢Horst Gutmann的补丁。

  • 生成的WSGI脚本现在如果存在,将使用python选项。这解决了#361695。

0.17.4

  • 修复了非详细模式下运行的问题(修复了#375151)。

0.17.3

  • 移除了对setuptools_bzr的依赖,因为它似乎没有按预期工作。

0.17.2

  • 将下载代码更改为使用urllib2。这应该可以在代理后面工作(修复了#362822)。感谢pauld的补丁。

0.17.1

  • 修复了新的WSGI日志选项#348797的问题。感谢Bertrand Mathieu的补丁。

  • 如果没有设置“wsgilog”,则禁用WSGI日志的生成,感谢Jacob Kaplan-Moss的补丁。

  • 更新了buildout.cfg和.bzrignore,感谢Jacob Kaplan-Moss。

0.17

  • 添加了指定WSGI脚本输出重定向日志文件的选项。感谢Guido Wesdorp的补丁。

0.16

  • 现在支持Subversion别名(例如svn+mystuff://myjunk)。感谢Remco的补丁。

0.15.2

  • 更新将pth文件查找器从__init__方法移动到install方法,以便它在buildout顺序中运行,否则它会在可能尚未存在的目录中查找pth文件。感谢Chris Shenton对其原始补丁的更新。

0.15.1

  • 更新使之前添加的pth-files选项有更好的文档。

0.15

  • 添加了“pth-files”选项,从site .pth文件将库添加到extra-paths。感谢Chris Shenton的补丁。

0.14

  • 配方现在支持创建FCGI脚本。感谢Jannis Leidel的补丁。

  • 首次下载Django配方时,配方现在会正确报告其下载的URL。

0.13

  • 现在在subversion URL中指定用户名是可行的。确定修订版本的代码已经更新。这修复了问题#274004。感谢Remco提供的补丁。

  • 更新了创建新项目的模板。现在它使用当前的管理系统来生成其urls.py文件。这修复了问题#276255。感谢Roland提供的补丁。

0.12.1

  • 由于缺少CHANGES.txt,重新上传。

0.12

  • 配方不再执行subversion以确定是否使用subversion下载版本。这修复了问题#271145。感谢Kapil Thangavelu提供的补丁。

  • pythonpath选项更改为extra-paths。这使得配方与其他配方更一致(参见问题#270908)。

0.11

  • 通过确保始终调用更新方法,再次尝试修复更新问题(#250811)。在先前的版本中,配方会将随机的密钥(如果没有指定)写入选项以供模板使用。Buildout将其视为选项更改,因此总是决定卸载并安装。

  • 当指定projectegg和wsgi=True时,生成的wsgi文件中未包含正确的设置文件。这已经通过Dan Fairs的补丁得到修复。

  • 配方现在具有日志记录功能。所有打印语句都已替换,并添加了一些额外的日志调用。这使得配方在执行长时间运行的任务时更具信息性。感谢erny提供的补丁,该补丁来自问题#260628。

0.10

  • 配方不再期望发布tar包的顶级目录名称与版本号一致。这修复了问题#260097。感谢erny报告此问题和提出解决方案。

  • 在重新运行buildout时,对于svn checkout的修订版本固定现在保持固定。这修复了问题#250811。感谢Remco报告此问题。

  • 添加了一个选项,可以指定一个egg作为项目使用。这禁用了创建基本项目结构的代码。感谢Dan Fairs提供的补丁,该补丁来自问题#252647。

0.9.1

  • 修复了由于缺少清单文件而损坏的上一个版本。

0.9

  • 设置选项现在支持任意深度设置路径(例如:conf.customer.development)。

  • 版本参数现在也接受完整的svn URL。您可以使用此功能获取分支或使用标准的svn @语法将任何URL固定到特定修订版本。

  • wsgi脚本不再设置为可执行和仅由运行buildout的用户可读。这避免了部署中的问题。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

isotoma.recipe.django-3.1.5.tar.gz (16.7 kB 查看散列)

上传时间

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面