1

重複の可能性:
request.GET で URL パラメーターを取得する

django を使用して Web サイトの詳細ページを設計しており、トピック URL を次のように設定しています。

(r'd/\d+/$', 'xiangwww.detail.views.detail'),

2 番目の引数はトピックの ID です。しかし、 Django Book のガイドに従って取得すると:

def detail(request,offset):
    print offset
    return render_to_response('detail.html')

ページ "localhost:8000/d/1/" は TypeError を示しています: detail() は正確に 2 つの引数を取ります (1 つ指定)

Django は、views.py ファイルのオフセットを認識できないようです。どうすれば解決できますか?

4

2 に答える 2

4

正規表現グループに入れて、数値を取得する必要があります。

(r'd/(\d+)/$', 'xiangwww.detail.views.detail'),

グループがない(...)と、Django はキャプチャされた番号を認識せず、それをビューに渡すことができません。URL ディスパッチのドキュメントを参照してください。

URL から値を取得するには、単に括弧で囲みます。

于 2012-09-24T11:26:02.650 に答える
0

パラメータとしてオフセットを受け入れるようにURLを変更する必要があります。

(r'd/(?P<offset>\d+/)$', 'xiangwww.detail.views.detail'),
于 2012-09-24T11:26:39.037 に答える