Django admin 中的 Django 附加视图 - URL 麻烦
Django additional views in Django admin - URL trouble
我正在向 django-admin
添加一个额外的视图。我的目我在创作。
我用它来开始,但我已经 运行 遇到问题,可能是因为我使用的 Django 版本。
http://patrick.arminio.info/additional-admin-views/
我遇到的问题是
TypeError at /admin/customers/order/1/review/
review() missing 1 required positional argument: 'id'
我不太确定如何解决这个问题。我的代码在这里:
class OrderAdmin(admin.ModelAdmin):
review_template = 'review.html'
def get_urls(self):
urls = super(OrderAdmin, self).get_urls()
review_urls = patterns('',
(r'\d+/review/$', self.admin_site.admin_view(self.review)),
)
return review_urls + urls
def review(self, request, id):
order = Order.objects.get(pk=id)
return render_to_response(self.review_template, {
'title': 'Review order: %s' % order.id,
'entry': order,
'opts': self.model._meta,
'root_path': self.admin_site.urls,
}, context_instance=RequestContext(request))
我是 Django 的新手,最有用的信息在书中,而不是文档中,对于 Django 自称来说,文档太长了完美主义者的 Web 框架有截止日期。
您的 url 模式未捕获任何值,因此没有任何内容可传递给视图方法。您需要使用捕获括号:
r'(\d+)/review/$',
尽管通常您会使用命名组将值作为关键字参数发送:
r'(?P<id>\d+)/review/$',
我正在向 django-admin
添加一个额外的视图。我的目我在创作。
我用它来开始,但我已经 运行 遇到问题,可能是因为我使用的 Django 版本。
http://patrick.arminio.info/additional-admin-views/
我遇到的问题是
TypeError at /admin/customers/order/1/review/
review() missing 1 required positional argument: 'id'
我不太确定如何解决这个问题。我的代码在这里:
class OrderAdmin(admin.ModelAdmin):
review_template = 'review.html'
def get_urls(self):
urls = super(OrderAdmin, self).get_urls()
review_urls = patterns('',
(r'\d+/review/$', self.admin_site.admin_view(self.review)),
)
return review_urls + urls
def review(self, request, id):
order = Order.objects.get(pk=id)
return render_to_response(self.review_template, {
'title': 'Review order: %s' % order.id,
'entry': order,
'opts': self.model._meta,
'root_path': self.admin_site.urls,
}, context_instance=RequestContext(request))
我是 Django 的新手,最有用的信息在书中,而不是文档中,对于 Django 自称来说,文档太长了完美主义者的 Web 框架有截止日期。
您的 url 模式未捕获任何值,因此没有任何内容可传递给视图方法。您需要使用捕获括号:
r'(\d+)/review/$',
尽管通常您会使用命名组将值作为关键字参数发送:
r'(?P<id>\d+)/review/$',