跳转到主要内容

django项目的简单buildout配方

项目描述

此buildout配方可用于创建替换buildout环境中manage.py所需的命令。可选地,它还可以生成wsgi和fcgi的脚本。

简单示例

[buildout]
parts = django
eggs =
    django

[django]
recipe = djangoprojectrecipe
settings = myproject.settings
eggs = ${buildout:eggs}
extra-paths = src
project = myproject

支持选项

此配方支持以下选项。

project

此选项设置项目包的名称。

settings

您可以使用此选项设置要使用的设置文件名称。如果您想使用与开发设置不同的生产设置,这很有用。默认为project.settings

extra-paths

在此处指定的所有路径都将用于扩展默认Python路径,用于bin/*脚本。建议直接在[buildout]部分定义这些路径,并仅引用它们。请参阅示例。

control-script

bin文件夹中创建的脚本名称。此脚本相当于Django通常创建的manage.py。默认情况下,它使用节名([ ]之间的部分)。

wsgi

当设置为true时,在bin文件夹中生成额外的脚本。这可以与mod_wsgi一起使用来部署项目。脚本名称为control-script.wsgi

fcgi

wsgi类似,这也将在bin文件夹中创建额外的脚本。此脚本可以与FCGI部署一起使用。

logfile

如果您使用的WSGI服务器不允许打印到stdout,可以将此变量设置为文件系统路径 - 所有stdout/stderr数据将重定向到日志而不是打印出来。同一日志文件也将用于fcgi。您可以使用基本目录作为相对路径:logfile = ${buildout:directory}/log/django.log

manage-entrypoint

所有管理命令的主要入口点。默认情况下,这是djangoprojectrecipe.manage.main。如果您需要在管理命令上执行一些自定义设置,请使用此设置。

FCGI特定设置

FCGI的选项可以在设置文件(settings.py)中设置。选项是FCGI_OPTIONS。它应该设置为一个字典。以下是一个示例

FCGI_OPTIONS = {
    'method': 'threaded',
}

另一个示例

下一个示例展示了如何使用更多的选项。在这里,我们将eggsextra-paths分别放入buildout配置中,并使用它在部分中获取一个通用的Python解释器和具有相同路径的Django实例

[buildout]
versions=versions
parts =
    python
    django
eggs =
  django
  South
  django-cms
extra-paths =
    src
    ../external_apps/
    /some/other/directory/to/add/to/pythonpath/
    parts/django_svn/django/

[versions]
django = 1.2.4

[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}
extra-paths = ${buildout:extra-paths}
scripts =
    python

[django]
recipe = djangoprojectrecipe
settings = myproject.settings_live
wsgi = true
eggs = ${buildout:eggs}
extra-paths = ${buildout:extra-paths}

使用django trunk

djangoprojectrecipe根本不处理django的安装。最简单的情况是从pypi(只需将django添加到eggs)安装已发布版本。如果您想使用django trunk或某些特殊分支,infrae.subversion可能会有所帮助

[buildout]
versions=versions
develop =
    parts/svn/django/
parts =
    svn
    django
eggs =
    django
    South
    django-whatever

[versions]
django=

[svn]
recipe = infrae.subversion
urls = http://code.djangoproject.com/svn/django/trunk/

[django]
recipe = djangoprojectrecipe
settings = myproject.settings_dev
eggs = ${buildout:eggs}
extra-paths = ${buildout:extra-paths}

别忘了将svn添加到parts,并将parts/svn/django/添加到develop。此外,您应从django的[versions]中移除特定的版本设置,因为否则buildout将继续使用打包的版本。

有关更多示例,请参阅http://pypi.python.org/pypi/infrae.subversion

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 (2011-12-02)

  • 添加了对自定义启动脚本的支持

1.1.1 (2011-05-18)

  • 添加了对buildout相对路径的支持

1.1.0 (2011-03-17)

  • 删除了可以由其他食谱解决的问题的大量不必要的功能

0.20

  • djangoprojectrecipe是从djangorecipe分叉出来的

项目详情


下载文件

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

源分布

djangoprojectrecipe-1.1.2.tar.gz (7.1 kB 查看哈希值)

上传时间

支持者:

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