2016-11-25 9 views
2

私はAJAX呼び出しを通じてPOSTリクエストを提出しようとしているとき、私は405 METHOD NOT ALLOWED応答を取得しています:ジャンゴ - メソッド関数では使用できませんベースのビュー(FBV)

"POST /events/profile_update/ HTTP/1.1" 405 0

私が設定しようとしています

def profile_update(request): 

    if request.method == "POST": 
     name_form =forms.EventName(request.POST) 

     if name_form.is_valid(): 
      name = name_form.cleaned_data['name'] 
    else: 
     name_form = forms.EventName() 

    return render(request, 'event_edit_profile.html', {"name": name}) 

私urls.py:最も基本的なビューを持つこのアップ

urlpatterns = [ 
    url(r'^(?P<slug>[-\w]+)/update/$', views.EventProfileUpdateView.as_view(), name='event_profile_update'), 
    url(r'^profile_update/$', views.profile_update, name="profile_update"), 
] 

そして、私のテンプレートでは、私がリクエストを送信するためにx-editableインライン編集を使用しています:

<h1 id="name" data-type="text" data-pk="{{ object.id }}" data-url="{% url 'Events:profile_update' %}" data-title="Event Name" data-params="{csrfmiddlewaretoken:'{{csrf_token}}'}">{{ object.name }}</h1> 
I don't get a 403ことを考えると、要求が通過来ているようだ、とCSRFのために拒否されていない

、のではなく、405 :

"POST /events/profile_update/ HTTP/1.1" 405 0 

何らかの理由で、私はこれを過ぎているようには見えません。誰かが私を台無しにする可能性のあることについて何か考えがありますか?

答えて

2

私は基本的なルールを守りませんでした。修正方法は次のとおりです。

urlpatterns = [ 
    url(r'^profile_update/$', views.profile_update, name="profile_update"), 
    url(r'^(?P<slug>[-\w]+)/update/$', views.EventProfileUpdateView.as_view(), name='event_profile_update'), 
] 
関連する問題