拆分Django项目的"admin.py"?

yeg*_*gle 6 python django

我正在尝试将admin.pyDjango项目拆分为单独的文件但失败了.

我没有从谷歌找到有关如何分割它的信息,所以我必须自己尝试.这是我试过的:

  1. 创建一个名为的目录separated_admins__init__.py在其中放入一个空
  2. separated_admins目录中创建文件,如下所示:

    # file my_app/seperated_admins/Some_Model_admin.py
    
    from my_app.models import Some_Model
    from django.contrib import admin
    
    admin.site.register(Some_Model)
    
    Run Code Online (Sandbox Code Playgroud)
  3. admin.py,我添加了如下行:

    from my_app.seperated_admins import *
    
    Run Code Online (Sandbox Code Playgroud)

但我没有Some_Model在我的管理网站上看到.我的解决方案对吗?我怎样才能解决这个问题?

Lak*_*sad 12

admin只是一个python模块.所以正确的分裂方式如下:

  • 创建一个名为admin而不是的文件夹admin.py
  • 在admin文件夹中使用多个文件,就像你的文件一样 Some_Model_admin.py
  • __init__.pyadmin文件夹中创建一个并将*所有文件导入其中.
  • 您可能还希望包含一个__all__以提供干净的界面.

  • 关于>"并将所有文件导入其中"的小注释意味着许多字符串,例如`from Some_Model_admin import*``from Some_Other_Model_admin import*`in`__init __.py` (2认同)