2016-08-04 6 views
0

django-adminに追加のビューを追加しています。私の目標はchange_formをオーバーライドして、フィールドを読み取り専用にし、foreign_keyオブジェクトで作業するためのカスタムフォームを追加し、作成している追加のビューである編集ページを作成することです。DjangoのDjango追加ビューadmin - URLの問題

私はこれを使い始めましたが、おそらく私が使用している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は自分自身を呼び出すために、長いに遠くではありませんドキュメント、期限と完璧主義のためのWebフレームワーク、ブックです。

答えて

0

URLパターンは値を取得しないため、ビューメソッドに渡すものはありません。

r'(?P<id>\d+)/review/$', 
:通常キーワード引数として値を送信するために指定されたグループを使用しますが、

r'(\d+)/review/$', 

:あなたはキャプチャする括弧を使用する必要があります

関連する問題