Я пытаюсь добавить пользовательскую страницу к администратору без ассоциации модели.Добавить пользовательскую страницу в django admin без модели
Это то, чего я достиг до сих пор.
class MyCustomAdmin(AdminSite):
def get_urls(self):
from django.conf.urls import url
urls = super(MyCustomAdmin, self).get_urls()
urls += [
url(r'^my_custom_view/$', self.admin_view(MyCustomView.as_view()))
]
return urls
class MyCustomView(View):
template_name = 'admin/myapp/views/my_custom_template.html'
def get(self, request):
return render(request, self.template_name, {})
def post(self, request):
# Do something
pass
admin_site = MyCustomAdmin()
admin_site.register(MyModel1)
admin_site.register(MyModel2)
# etc...
Это на самом деле работает, но проблема заключается в том, что с этим решением я потерять некоторые приложения из интерфейса администратора Django (счета, Auth, socialaccounts, сайты).
Спасибо за ваш ответ. Я знаю документацию, и я подумал, что включив django.contrib.admin в INSTALLED_APPS, автообнаружение будет по-прежнему активным. Мне не очень нравится решение переопределить метод get_urls(), и я бы предпочел вручную включить все сторонние приложения. Любые предложения о том, как это сделать? – Pietro