跳转到主要内容

使用setuptools的可重用Django应用

项目描述

这是另一种使Django能够加载基于egg的可重用、可插入的应用程序的方法,而不需要更改Django源代码。例如,插件或组件,如django-registration、django-threadedcomments或django-tagging。

它使用setuptools来查找、处理和加载具有特定 入口点 的基于egg的Python模块,例如 'django.apps'

基于egg的Python模块(也称为egg)是类似Django应用的压缩打包Python模块。每个Django应用都可以通过使用特殊的setup.py文件转换为egg发行版。

安装

从应用程序网站获取源代码:

http://code.google.com/p/django-reusableapps/

要安装reusableapps,请按照以下步骤操作

  1. 遵循INSTALL文件中的说明。

  2. import reusableapps添加到您的设置文件的顶部。

  3. 在您的设置文件中添加一个新设置,即可重用应用的存储位置列表,按搜索顺序。请注意,即使在Windows上,这些路径也应使用Unix样式的正斜杠。

    例如

    REUSABLE_APPS_DIRS = (
        '/home/jannis/.local',
        '/Users/Jannis/Code/eggs',
        '/usr/share/django/apps',
        'C:/www/django/apps',
    )
  4. 添加到您的设置文件的最后一行(在INSTALLED_APPS和REUSABLE_APPS_DIRS设置之后)

    INSTALLED_APPS = reusableapps.search(REUSABLE_APPS_DIRS, INSTALLED_APPS)

组合在一起

一旦完成上述安装说明,您的设置文件应该看起来像这样

import reusableapps

# ...

REUSABLE_APPS_DIRS = (
    '/home/jannis/.local',
    '/Users/Jannis/Code/eggs',
    '/usr/share/django/apps',
    'C:/www/django/apps',
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'myproject.myapp',
)

INSTALLED_APPS = reusableapps.search(REUSABLE_APPS_DIRS, INSTALLED_APPS)

您可以将可重用、可插拔、基于egg的Django应用放入REUSABLE_APPS_DIRS目录之一。

使用基于egg的Django应用的模板

如果您想使用基于egg的Django应用的模板,请在TEMPLATE_LOADERS设置中添加'django.template.loaders.eggs.load_template_source'

django-reusableapps支持添加到您的Django应用

如果您想在您的Django应用中支持django-reusableapps,您需要修改现有的setup.py,改为从setuptools导入setup函数,而不是从distutils导入。

from setuptools import setup

此外,您还需要在setup关键字中添加一个“入口点”。

entry_points={'django.apps': 'myapp = myapp'},

其中我的myapp是您的Django应用名称,例如registration。完整的示例可以在setup-example.py中找到,应该将其复制到您应用的父目录中作为setup.py。然后您就可以创建一个包含此应用的egg文件了。

创建可重用Django应用的egg文件

一旦您在Django应用的父目录中有了正确的setup.py,您可以运行以下命令来构建egg文件:

python setup.py bdist_egg

它将被创建在dist目录中,文件名类似于dummyapp-0.1-py2.5.egg。然后您可以将其分发并放置在Django项目的REUSABLE_APPS_DIRS之一中以使用它。

支持

请将您的问题和问题留在指定的Google Code网站上。

项目详情


下载文件

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

源分布

django-reusableapps-0.1.1.tar.gz (9.8 kB 查看哈希值)

上传时间

构建分布

django_reusableapps-0.1.1-py2.5.egg (4.8 kB 查看哈希值)

上传时间

支持者

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