Django将参数附加到包含模型名称的url

时间:2014-02-28 06:19:18

标签: django

admin.py

class TopicAdmin(admin.ModelAdmin):
    list_display = ['ID','Name','Show_Report']
    actions = ['show_report']

    def Show_Report(self, obj):      # obj is the object of Topic you selected
        return mark_safe('''<a  style="background: url(\'/site_media/img/tooltag-arrowright_over.gif\') no-repeat scroll 0 0.2em rgba(0, 0, 0, 0); padding-left: 24px;" href="showReport/%s">Report</a>'''%obj.ID)

这是http://127.0.0.1:8000/admin/myproject/topic/中的链接,然后点击该链接,它将转到http://127.0.0.1:8000/admin/myproject/topic/showReport/1。 所以我在url.py添加网址如下:

urls.py

url(r'^admin/myproject/topic/showReport/1', hello),

然后它转到错误topic object with primary key u'showReport' does not exist。 如果我在下面使用

admin.py

return  .....<a href="../showReport/1"><a/> 

urls.py

url(r'^admin/myproject/showReport/1', hello)

然后它的工作原理。 你能告诉我是什么原因,如果我想要你使用第一个网址,我该怎么办

1 个答案:

答案 0 :(得分:0)

您正尝试将showReport作为PrimaryKey传递。 PrimaryKey是一个数字。所以,只要我能理解你在这里尝试做什么,你应该使用:

url(r'^admin/myproject/topic/1', hello)

恕我直言:请执行tutorial并查看python design guides。你犯了很多错误,例如capitalized function names,字段名称,你离DRY很远。 Test your code online或谷歌搜索其他工具。请不要生我的气,我只是想让你走向正确的方向 - 据我所知,你需要学习一些python基础知识。