0

私の目的は、名前空間から他のビューに2つの引数を渡すことです。

  <li><a href ="{% url world:p p.id 1 %}">{{p.description}}

これが意味をなさない場合は申し訳ありません。私は自分の問題を説明するのに適切な言葉を見つけるために最善を尽くしています。

引数、views.py内のdelpic関数に渡そうとしていますが、画像IDと整数ですが、それが機能するためには、正規表現を渡す必要があり、その後、views.pyに送信されます。

def delpic(request,picture_id,digit):

     digit = digit
     If digit == "1":
               #Something
     If digit == "2":
               # Something
     return render(request,'boardeditor.html',{'board':BoardNameForm(request.user),})

しかし、両方を自分のビューに渡そうとすると。このエラーが発生します

  TypeError at /delpic/3/1/

  delpic() takes exactly 3 non-keyword arguments (2 given)

問題を引き起こしているのは私の正規表現だと思います

    url(
        r'^delpic/(?P<picture_id>\d+)/(\d{1})/$',
        'pet.views.delpic',
        name= 'delpic',
    ),

私のメインURLCONF

url(
    r'^',
    include('pet.urls',
        namespace = 'world')
),
4

1 に答える 1

9

正規表現を誤って使用しています。

ビューは名前付きの正規表現を期待しており、名前を付けていません。ビューは何が起こっているのか理解していません。

ビューの正しい正規表現は次のとおりです。

r'^delpic/(?P<picture_id>\d+)/(?P<digit>\d+)/$'
于 2013-03-25T14:18:47.140 に答える