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', }
另一个示例
下一个示例展示了如何使用更多的选项。在这里,我们将eggs和extra-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将继续使用打包的版本。
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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7d440389239760f8b5634990f826c3a503a59ef854babefdb124e81a2babe7b0 |
|
MD5 | e6d1365bce6b313d4bb03568d0aeb396 |
|
BLAKE2b-256 | da5feb939b8dcd59cfc5f03badcf6db2cd98538d077793f774366e9c38611e01 |