小编jab*_*bez的帖子

将jQuery数组POST到Django

我正在尝试将一个简单数字的jQuery数组发布到Django,我真的无法使它工作.我需要一点帮助.我收到一个Http 500,出现以下错误:

Internal Server Error: /edit_lists/
Traceback (most recent call last):
  File "/home/jabez/.virtualenvs/hackernews/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in get_response
    response = middleware_method(request, response)
  File "/home/jabez/.virtualenvs/hackernews/local/lib/python2.7/site-packages/django/middleware/common.py", line 106, in process_response
    if response.status_code == 404:
AttributeError: 'list' object has no attribute 'status_code'
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

JavaScript的

    $('.btn-group').find('#mark_as_done').on('click', function() {
    var tasks = grab_selected();

    $.ajax({
        type: 'POST',
        url: '/edit_lists/',
        data: {'tasks': tasks},
    });
});

function grab_selected() {
    var tasks = [];
    $('input:checked').each(function() {
        tasks.push(this.id);
    });
    return tasks;
}
Run Code Online (Sandbox Code Playgroud)

views.py

def edit_lists(request):
tasks = request.POST.getlist('tasks')
return tasks
Run Code Online (Sandbox Code Playgroud)

urls.py …

arrays django ajax jquery json

16
推荐指数
2
解决办法
1万
查看次数

令牌认证在django rest框架中的生产中不起作用

我有这个奇怪的问题,我找不到原因.我使用django 1.7和django rest框架和用于api身份验证的令牌身份验证来构建API.所有在本地主机上工作正常,但是当我尝试调用需要在生产计算机上进行身份验证的API端点时,我将获得403状态代码以及以下消息:{"detail":"未提供身份验证凭据". }.我做错了什么?

我按照文档在标题中发送令牌.以下是我的设置文件的外观:

INSTALLED APPLICATIONS = (
    '......',
    'rest_framework',
    'rest_framework.authtoken',
    'rest_framework_swagger',
    'corsheaders',
    '......')

MIDDLEWARE_CLASSES = (
    'corsheaders.middleware.CorsMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.contrib.admindocs.middleware.XViewMiddleware',
    'django.middleware.common.CommonMiddleware',
    'admin_reorder.middleware.ModelAdminReorder',
)

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.AllowAny'
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    ),
    'PAGINATE_BY_PARAM': 'page_size',
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',),
    'VIEW_DESCRIPTION_FUNCTION': 'rest_framework_swagger.views.get_restructuredtext'
}

REST_SESSION_LOGIN = False
CORS_ORIGIN_ALLOW_ALL = True
Run Code Online (Sandbox Code Playgroud)

python authentication django django-rest-framework django-rest-auth

10
推荐指数
1
解决办法
1796
查看次数

对新添加的td应用x-editable

我有一个字段表,我可以通过JQuery动态添加表数据.问题是我添加的元素没有我为该组td设置的属性,直到我重新加载整个页面,我不知道必须触发什么才能采取新的操作.

这是我的代码:

#js file
function add_task() {
task_name = $("#task-name").val();
due_date = $("#task-due_date").val();
var new_task = $.ajax({
    url: "/add_task/",
    data: "task="+task_name+"&due_date="+due_date,
    success: function(task_id){
        get_task(task_id);
    }
});
}

function get_task(task_id) {
$.ajax({
    url: "/get_task/"+task_id+"/", //get the html from single_task.html

    success: function(result){
        $('#container').append(result);
        $('#task-'+task_id).fadeIn(500);
    }

});

}

#single_task.html
<tr id="task-{{task.id}}">
<td><div id="task">
        <a href="#" data-type="text" data-pk="{{task.id}}" data-     url="/update_task/{{task.id}}/" data-title="Enter task">{{ task.task }}</a>
    </div></td> 
<td>{{ task.initialized_at|age }}</td>
<td>{{ task.due_date }}</td>
<td>{{ task.done }}</td>
<td><button onclick="delete_task('{{task.id}}');" class="btn"> X </button></td>
Run Code Online (Sandbox Code Playgroud)

#index.html //place where to load …
Run Code Online (Sandbox Code Playgroud)

jquery edit-in-place django-templates x-editable

5
推荐指数
1
解决办法
6113
查看次数

$(这)不能正常工作x-editable

我正在尝试设置动态检索pk并且此选择器不起作用,这是我的代码:

#html file
<div id="{{task.id}}">
                <h3>
                    <a href="#" id="task">{{ task.task }}</a>
                </h3>
...
</div>

#js file
$("#task").editable({
    type: 'text',
    **pk:  $(this).closest('div').attr('id'),**
    url: '/update_task/' + pk + '/',
    title: 'Enter task',

});
Run Code Online (Sandbox Code Playgroud)

这个不起作用,但如果我写:

pk:  $("#task").closest('div').attr('id')
Run Code Online (Sandbox Code Playgroud)

会工作,但对我来说不方便.

先感谢您 :)

jquery this edit-in-place

3
推荐指数
1
解决办法
2723
查看次数