为此我在本地复制了 templates/admin/index.html Django的文件,修改如下:
templates/admin/index.html
... {% if app_list %} <table> <tr> <td> <a href="sync-sql-kb/">Synchronize SQL-KB</a> </td> </tr> </table> {% for app in app_list %} ...
如你所见,我希望链接按钮触发一个请求 /admin/sync-sql-kb/ .
/admin/sync-sql-kb/
请注意,在我看来,这种情况与其他SO问题不同,因为该操作是站点范围的,而不是绑定到特定的Django模型。
您可以编写自己的视图,只需在管理url旁边注册即可;
urlpatterns = [ path('admin/sync-sql-kb/', myapp.urls), path('admin/', admin.site.urls), ]
那你就可以做了; <a href="/admin/sync-sql-kb/">Synchronize SQL-KB</a>
<a href="/admin/sync-sql-kb/">Synchronize SQL-KB</a>
reverse 和平常一样。
reverse
我建议您将链接添加到 userlinks https://cheat.readthedocs.io/en/latest/django/admin.html#customize-top-right-corner-of-admin-pages
userlinks