【发布时间】:2021-07-28 14:27:08
【问题描述】:
我有以下自定义管理员网址
def get_urls(self):
(...)
info = self.model._meta.app_label, self.model._meta.model_name
urlpatterns = [
path('<path:object_id>/CompareParameters/<int:parameter_id>', wrap(CompareParameters.as_view()), name='%s_%s_CompareParameters' % info),
]
我需要从内联中调用它,它需要两个参数(视图名称包含单词参数的事实只是巧合)
我试过这样做
def pair_parameter(self, obj):
return mark_safe(f'<a style="padding: 5px; background-color: lightblue;" target="_blank" href="{reverse("admin:agregator_agregatorproduct_compareparameters", args=[obj.ProductId_id, obj.DistributionParameterId_id, ])}">Spárovavat parametr</a>')
还是这样
def pair_parameter(self, obj):
return mark_safe(f'<a style="padding: 5px; background-color: lightblue;" target="_blank" href="{reverse("admin:agregator_agregatorproduct_" + str(obj.ProductId_id) + "_" + str(obj.DistributionParameterId_id) + "_compareparameters")}">Spárovavat parametr</a>')
以及其他一些没有成功的组合。
正确的方法是什么?最终 URL 看起来像这样
.../admin/agregator/agregatorproduct/1854146/CompareParameters/9330
其中第一个参数是obj.ProductId_id,第二个是obj.DistributionParameterId_id
提前谢谢你。
【问题讨论】:
-
“没有成功”是什么意思?你的测试结果如何?
标签: django django-admin django-urls