0

我注册了一个自定义 Django 管理表单,如何以编程方式在视图中查找模板的 URL?

我知道我的表单在/admin/custom_app/horse/但我如何以编程方式查找它,以防将来更改来自 URL?

以下是表单的注册方式:

admin.site.register(Horse, HorseAdmin)
4

1 回答 1

0

首先确定url_name表格的形式。使用表单所在位置的相对地址,并使用resolve如下方式查找名称:

In [1]: from django.urls import resolve 
    ...: match = resolve('/admin/custom_app/horse/') 
    ...: match.url_name 
    ...:                                                                                                                                                                                      
Out[1]: 'custom_app_horse_changelist'

现在你可以用它reverse来查找 URL,只要记住前缀admin:这样:

In [63]: from django.urls import reverse 
    ...: reverse('admin:custom_app_horse_changelist')                                                                                                                           
Out[63]: '/admin/custom_app/horse/'
于 2021-02-16T17:56:44.703 回答