2016-11-25 4 views
2

Я получаю 405 METHOD NOT ALLOWED ответ, когда я пытаюсь отправить запрос POST с помощью вызова AJAX:Джанго - 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> 

Запрос, кажется, идет до конца, и не отвергается из-за CSRF, учитывая, что I don't get a 403, а скорее 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'), 
] 

 Смежные вопросы

  • Нет связанных вопросов^_^