1
8
要在不同的管理站点中注册模型,只需创建django.contrib.admin.sites.adminsite的不同实例, see this. 您最好使用两个不同的管理站点来管理不同的模型和具有不同的模板。 对于身份验证和权限,您应该能够使用django.contrib.auth中的构建,就像使用自定义权限一样(希望其他人能够在这里提供更多帮助)。 |
2
39
您可以将Django的子类
至少从1.9开始,您需要添加name参数以使其正常工作。这用于创建反向URL,因此名称必须是urls.py中的名称。
然后你可以在你的应用程序中使用它
您还需要为它定义一些URL(在项目的
也看到这个: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adminsite-objects |
3
0
我不确定我的发现,报告在这里,将是完全有助于肯德,因为,除了其他事情,我不知道他说的不仅是两个管理网站,而且两个数据库,一个为每个。这就是我的处境。我有一个好主意,我希望我的一个应用程序,一个新的应用程序,有自己的数据库和管理页面。 但是我遇到了BernhardVallant的Adminsite子类化方法的问题,尽管它看起来是正统的,而且本质上是正确的。我解决了这个问题。 以下是我发现绝对必要的,对Bernhard Vallant的代码的修改:
是的,我的意思是你选择的任何东西(只要不是“管理员”)。我用它来切换,每次都会失败,除了管理名称的分配。 我得到的症状是,当我添加第二个数据库并为它创建了一个my admin,然后向my admin.register(my_model a)注册模型,然后查看两个admin应用程序页面,一个是我使用第二个数据库和my admin的新应用程序页面,另一个是my_model a模型,看起来不错,但我的旧admin页面显示了死lin对于它的模型,当我点击一个应用程序(使用旧数据库的旧应用程序)的非死链接时,我得到一个404代码,效果是页面不存在。 另外,我不知道这很重要,但我做了一些不同于 Bernhard Vallant在Urlconf项目中:
好吧,“someword”是不相关的——这是关于最终用户的外观,而不是应用程序或项目的名称。但是关联的管理员是我的旧应用程序和旧数据库的管理员。注意autodiscover()包含。当项目urlconf配置为bernhard vallant将其与myadmin导入同时引用默认管理员时,Bernhard vallant链接到的文档中有一些模糊的语言。 对于URLCONF for MyNewApp,我有:
尽管在内部将Adminsite实例命名为除“admin”之外的其他名称是绝对必要的,但我必须补充一点,当需要使用admin.modeladmin子类来更新mynewapp的admin.py文件时,确实需要使用admin.modeladmin作为父类。myadmin毕竟是adminsite子类的一个实例。因此,我认为它与admin.site相当,而不是与admin相当。 对于像我这样的noob来说,这都是非常令人困惑的,因为admin(小写)看起来像一个实例,而我不熟悉子类化实例。所以我想不是。 |
Florent · 如何在Django中聚合多个字段? 1 年前 |
KWunsch · Django没有将pk引入模板 1 年前 |
Akshay mek · Vscode扩展建议不适用于某些文件夹 1 年前 |
Farid · 限制django每个客户的访问 2 年前 |
Blue · 从Django中的输入字段获取用户输入 2 年前 |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |