如何在Django Admin中添加自定义视图
在Django Admin中添加自定义视图,可以通过以下步骤完成:
-
创建一个Django应用程序,例如命名为“myapp”。
-
在“myapp”应用程序下创建一个名为“admin.py”的文件,并在文件中添加以下代码:
from django.contrib import admin from django.urls import path from django.shortcuts import render def my_view(request): return render(request, 'my_template.html', {'name': 'pidancode.com'}) class MyAdminSite(admin.AdminSite): def get_urls(self): urls = super().get_urls() my_urls = [ path('my_view/', self.admin_view(my_view), name='my_view') ] return my_urls + urls admin_site = MyAdminSite() # 注册模型 admin_site.register(MyModel) # 管理器 @admin.register(MyModel, site=admin_site) class MyAdmin(admin.ModelAdmin): pass
在上面的代码中,“my_view”函数是我们自定义的视图函数。在这个函数中,我们渲染了一个名为“my_template.html”的模板,并传递了一个名为“name”的变量,它的值为“pidancode.com”。您可以在模板中使用这个变量。
“MyAdminSite”类是我们自定义的管理站点类。我们覆盖了“get_urls”方法,并在其中添加了自定义视图的URL。
最后,我们创建了一个“admin_site”对象,并用它来注册模型和管理器。我们还可以在管理器中设置一些字段和操作等。
- 在“myapp”应用程序下创建一个名为“templates”的目录,并在其中创建一个名为“my_template.html”的模板文件。在该模板文件中添加以下代码:
<!DOCTYPE html> <html> <head> <title>My Template</title> </head> <body> <h1>Welcome to {{ name }}</h1> </body> </html>
在上面的代码中,我们使用了“{{ name }}”变量,它的值是从视图函数中传递过来的。
- 运行Django服务器,并访问http://localhost:8000/admin/myapp/my_view/,您应该能够看到自定义视图的内容。
以上就是在Django Admin中添加自定义视图的完整步骤和代码演示。
相关文章