抱歉,我在django方面还很新。我想在管理站点上创建一个与我的模型无关的自定义视图。我已经阅读了文档(https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_urls),但是没有起作用。阅读一些教程也不行...
这是我尝试过的:
当我访问admin/my_view时,结果显示404未找到。
我尝试通过扩展AdminView来解决问题。
我在admin/my_view页面没有收到404错误。但是, 默认的模型(用户和其他)未显示。只有我的“问题”模型在那里。以前的一个仍然有默认的模型。
如何正确制作自定义管理视图? 谢谢。
admin.py
from django.contrib import admin
from django.urls import path
from .models import Question
from django.http import HttpResponse
class CustomAdminView(admin.ModelAdmin):
def get_urls(self):
urls = super().get_urls()
my_urls = [
path(r'^my_view/$', self.admin_site.admin_view(self.my_view))
]
urls = my_urls + urls
return urls
def my_view(self, request):
return HttpResponse("Hello, world.")
admin.site.register(Question)
urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include, url
admin.autodiscover()
urlpatterns = [
path(r'polls/',include('polls.urls')),
path('admin/', admin.site.urls),
]
当我访问admin/my_view时,结果显示404未找到。
我尝试通过扩展AdminView来解决问题。
admin.py
from django.contrib.admin import AdminSite
from django.urls import path
from .models import Question
from django.http import HttpResponse
class CustomAdminView(AdminSite):
def get_urls(self):
urls = super().get_urls()
my_urls = [
path(r'my_view/', self.admin_view(self.my_view))
]
urls = my_urls + urls
return urls
def my_view(self, request):
return HttpResponse("Hello, world.")
custom_admin = CustomAdminView()
custom_admin.register(Question)
urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include, url
from polls.admin import custom_admin
admin.autodiscover()
urlpatterns = [
path(r'polls/',include('polls.urls')),
path('admin/', custom_admin.urls),
]
我在admin/my_view页面没有收到404错误。但是, 默认的模型(用户和其他)未显示。只有我的“问题”模型在那里。以前的一个仍然有默认的模型。
如何正确制作自定义管理视图? 谢谢。