25

次のように、Django アプリのカスタム ビュー クラスにマップされた URL パターンがあります。

url( r'^run/(?P<pk>\d+)/$', views.PerfRunView.as_view( ))

問題は、ビュー クラスの URL パターン文字列から 'pk' にアクセスして、データベース ID に基づいて特定のモデル オブジェクトを取得する方法がわからないことです。私はグーグルで検索し、Django のドキュメントを調べ、Stack Overflow を検索しましたが、満足のいく答えがまったく見つかりません。

誰でも教えてもらえますか?

4

3 に答える 3

69

クラスベースのビューでは、URLのすべての要素がself.args(名前のないグループの場合)またはself.kwargs(名前の付いたグループの場合)に配置されます。したがって、ビューには、を使用できますself.kwargs['pk']

于 2012-11-23T12:00:23.083 に答える
12

ビューの主キーにアクセスするには post =

Class_name.objects.get(pk=self.kwargs.get('pk'))
于 2016-06-24T10:34:53.877 に答える