首先感谢您花时间阅读我的问题
我试图添加一个自定义按钮到我的管理变更列表视图,但它总是给我找不到页面(404)
此my modelAdmin代码:
class MyModelAdmin(admin.ModelAdmin):
class Media:
js = ('admin/js/additional_js.js',)
model = MyModel
def get_urls(self):
urls = super(MyModelAdmin, self).get_urls()
analyze_url = patterns('',
(r'^(?P<pk>\d+)/analyze/$',
self.admin_site.admin_view(self.analyze_view))
)
return analyze_url + urls
def analyze_view(self, request, pk):
# some code here
HttpResponseRedirect(
reverse('admin:myapp_MyModel_change', args=(pk,))
)
用于将自定义链接添加到更改列表视图的jQuery代码:
^{pr2}$当我单击我的自定义链接时,它会显示以下信息:
主键为“3/change/analyze”的MyModel对象不存在。
我看到链接没有指向视图
有人能帮我解决这个问题吗。
谢谢
在django1.9中,管理更改url已更改为
/admin/<app>/<model>/<pk>/change/
(release notes)。在因此,在html中链接到
href="analyze/"
是没有意义的。相对url被视为/admin/<app>/<model>/3/change/analyze
,而不是您期望的/admin/<app>/<model>/3/analyze
。在通过将链接更改为:
理想情况下,最好是反向url,而不是有一个相对链接。我认为这会使代码不那么脆弱。在
由于您使用的是Django 1.9,因此可以更新代码以使用列表而不是
^{pr2}$patterns
:相关问题 更多 >
编程相关推荐