Я использую JqGrid в шаблоне Django. Работает нормально до добавления новой строки в сетку.
Я использую для этого кнопку «+» на панели навигации. Проблема в том, что когда я нажимаю «Отправить» в диалоговом окне «Добавить запись», появляется ошибка HTTP 403.
Если я изменю editurl на "/ ajax / stocks / add" (удалить последнюю косую черту), появится ошибка HTTP 500.
Кто-нибудь знает, в чем здесь проблема?
В браузере запрос к http://127.0.0.1:8000/ajax/stocks/add/ (используется сервер devjango) возвращает True, как и ожидалось.
И я не совсем понимаю, что должна делать функция ajax_stock_add_view.
Должен ли он вернуть статус успеха или что-то еще назад?
Вот мой шаблон django:
{% block extrascript %}
<script type="text/javascript">
$(document).ready(function() {
jQuery("#stocks-grid").jqGrid(
{ url:'/ajax/stocks/', datatype: "json", colNames:['Name','Comment'],
colModel:[
{name:'name',index:'name', editable:true},
{name:'comment',index:'comment', editable:true}
],
editurl : "/ajax/stocks/add/", rowNum:10, pager: '#stocks-grid-pager', sortname: 'name', viewrecords: true});
jQuery("#stocks-grid").jqGrid('navGrid', '#stocks-grid-pager');
});
</script> {% endblock %}
{% block content %}
<table id="stocks-grid"></table>
<div id="stocks-grid-pager"></div> {% endblock %}
Вот urls.py:
...
(r'^ajax/stocks/$', ajax_stocks_view),
(r'^ajax/stocks/add/$', ajax_stocks_add_view),
...
и views.py
def ajax_stocks_view(request):
json = get_grid_json(Stock)
return HttpResponse(json, mimetype='application/json')
def ajax_stocks_add_view(request):
return HttpResponse(True)