代码之家  ›  专栏  ›  技术社区  ›  Chris Muench

应用程序的django-python包

  •  0
  • Chris Muench  · 技术社区  · 13 年前

    我们希望在项目目录之外创建django应用程序。

    我们是否需要通过创建setup.py来创建一个python包,并将其安装到站点包中?

    当应用内嵌入到项目文件夹中时,这是如何工作的?(我在任何地方都看不到setup.py)。

    我想我不知道什么时候该做包裹,什么时候不该做。

    1 回复  |  直到 13 年前
        1
  •  2
  •   RickyA    13 年前

    为了只包含来自外部位置的应用程序,我通常使用以下内容:

    main
      -__init__.py
      -manage.py
      -urls.py
      -settings.py
      -foo
        -__init__.py
        -models.py
        -views.py
        -admin.py
    
    external
      -__init__.py
      -bar
        -__init__.py
        -models.py
        -views.py
        -admin.py
    

    比方说我们想包括 external.bar 作为django项目中的应用程序 main .

    首先确保在 settings.py 属于 主要的 external 在上 sys.path 所以python可以找到它:

    import sys
    sys.path.append("/path/to/external")
    

    然后添加 外部.bar 到已安装的应用程序:

    INSTALLED_APPS = (
        'django.stuff',
        'main.foo',
        'external.bar',
    )
    

    然后 admin.auto_discover() 应该找到你的 外部.bar 应用程序并加载其管理员。