2017-03-01 6 views
0

のために働いていない:ルーティングは、私は現在、以下のように定義されたURLパターン持っている私のAJAX要求

url(r'^potato/(?P<slug1>[-\w])/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'), 

と私の意見で関数を:

def potatoajax(request): 
    print 'Potato Ajax' 
    if request.method == 'POST': 
    print 'more potatoes' 
    else: 
    print 'dont print Potato AJax' 

次のように私のAjaxのリクエストは次のとおりです。

var url = 'potatoajax/'; 
    $.ajax({ 
     url: url, 
     data: { 
      'hello': 'hello world', 
      'csrfmiddlewaretoken': getToken(), 
     }, 
     type: 'POST', 
     dataType: 'json', 
     success: function (data) { 
      $('#message').html(data.message); 
     } 

しかし、私は404のリクエストを受け取り続けています=(これは私のURLパターンでのルーティングに強く疑わしいですが、これをどのように修正するのか分かりません。ここ

はエラーメッセージです:

POST http://localhost:8000/potato/potato1/potato2/potatoajax/ 404 (Not Found) 

示唆したように、私はfollwoingへのURLを変更する場合:

url(r'^potato/(?P<slug1>[-\w]+)/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'), 

が、私は500 POSTを得るため、/ポテト/ potato1ではTypeErrorに/ potato2/potatoajax/ potatoajax()に予期しないキーワード引数 'slug2'があります。

しかし、これは別の問題ですので、必要に応じて別の質問を投稿します。あなたはslug1

url(r'^potato/(?P<slug1>[-\w]+)/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'), 

の乗数を持っていないそして、あなたの意見のように2つの引数を受け入れますあなたのurls.py

答えて

1

def potatoajax(request, slug1, slug2): 
    print 'Potato Ajax' 
    if request.method == 'POST': 
    print 'more potatoes' 
    else: 
    print 'dont print Potato AJax' 
+0

おかげさまで、あなたが提供した内容に基づいて質問を修正しましたが、まったく別の問題であるため、アンカーは高く評価されています。 – glls

+0

お返事ありがとうございました。それが動作するか見てください。 –

+0

hehe、それは私がやったことです、フォローアップの考えのおかげで、非常に感謝しています – glls

関連する問題