我正在尝试将Django项目的admin.py
拆分为单独的文件,但失败了。
我无法从谷歌找到有关如何分割它的信息,所以我必须自己尝试。这是我试过的:
separated_admins
的目录,并在其中放置一个空的__init__.py
在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)
在admin.py
中,我添加了以下行:
from my_app.seperated_admins import *
但我在管理网站上没有看到Some_Model
。我的解决方案对吗?我该如何解决这个问题?
答案 0 :(得分:12)
admin
只是一个python模块。所以正确的分裂方式如下:
admin
的文件夹,而不是admin.py
Some_Model_admin.py
__init__.py
文件夹中创建admin
,然后将所有文件导入其中。__all__
以提供干净的界面。答案 1 :(得分:0)
您应该从Some_Model_admin导入。
from my_app.seperated_admins.Some_Model_admin import *
事情应该正常工作
或者你可以将所有拆分文件导入到init中,在这种情况下
from my_app.seperated_admins import *
应该有效