Python,Django,DataTables无效的JSON

2024-06-26 01:47:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我在学习Django时遇到了一个障碍。:-)

我得到了一个无效的JSON,尽管JSON是有效的。我相信这是件简单的事。在

这是我的模型

from django.db import models


class Customer(models.Model):
    cus_name = models.CharField(max_length=200)
    address1 = models.CharField(max_length=100)
    address2 = models.CharField(max_length=100, null=True, blank=True)
    address3 = models.CharField(max_length=100, null=True, blank=True)
    city = models.CharField(max_length=50)
    state = models.CharField(max_length=25, null=True, blank=True)
    zip = models.CharField(max_length=9)
    country = models.CharField(max_length=50)
    phone = models.CharField(max_length=12)
    fax = models.CharField(max_length=12, null=True, blank=True)
    email = models.CharField(max_length=100, null=True, blank=True)
    web = models.CharField(max_length=150, null=True, blank=True)

这是我的观点

^{pr2}$

这是我的网址

url(r'^$', c.CustomerListJson.as_view(), name='customer_ajax_list'),

这是我的模板

{% extends "base.html" %}

{% block title %}Customers{% endblock %}

{% block content %}

<div class="container" style="margin-top: 10px">

<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="Customers">
    <thead>
        <tr>
            <th>
                Customer
            </th>
            <th>
                Address
            </th>
            <th>
                City
            </th>
            <th>
                State
            </th>
            <th>
                Zip
            </th>
            <th>
                Phone
            </th>
            <th>
                Email
            </th>
            <th>
                Web
            </th>
        </tr>
    </thead>
    <tbody></tbody>
    <tfoot>
        <tr>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
        </tr>
    </tfoot>
</table>
</div>


<script type="text/javascript">
$(document).ready(function () {
    $('#Customers').dataTable({
        "sDom": 'T<"clear">lfrtip',
        "bDeferRender": true,
        "bServerSide": true,
        "sAjaxSource": {% url 'customer_ajax_list' %},
        "bProcessing": true,
        "sEmptyTable": "Loading data from server",
        "aoColumns": [
                        { "sName": "NAME", "sDefaultContent": "", "mData": "cus_name" },
                        { "sName": "ADDRESS", "sDefaultContent": "", "mData": "address1" },
                        { "sName": "CITY", "sDefaultContent": "", "mData": "city" },
                        { "sName": "STATE", "sDefaultContent": "", "mData": "state" },
                        { "sName": "ZIP", "sDefaultContent": "", "mData": "zip" },
                        { "sName": "PHONE", "sDefaultContent": "", "mData": "phone" },
                        { "sName": "EMAIL", "sDefaultContent": "", "mData": "email" },
                        { "sName": "WEB", "sDefaultContent": "", "mData": "web" },
        ]
    });
});
</script>

{% endblock %}

这是我的基本模板

<!DOCTYPE html>
<html lang="en">
{% load staticfiles %}
<head>

<link href="{% static 'css/bootstrap.css' %}" rel="stylesheet">
<link href="{% static 'css/jquery.dataTables.css' %}" rel="stylesheet">
<script src="{% static 'js/jquery-2.1.1.js' %}"></script>
<script src="{% static 'js/bootstrap.js' %}"></script>
<script src="{% static 'js/jquery.dataTables.js' %}"></script>

<title>{% block title %}Home{% endblock %}</title>
</head>

<body>
{% block navbar %}
<div id="navbar">
        <div class="navbar navbar-inverse navbar-static-top">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                </div>
                <div class="navbar-collapse collapse">
                    <ul class="nav navbar-nav navbar-right">
                        <li><a href="/login/">Logout</a></li>
                        <li><a href="/customers/">Customers</a></li>
                        <li><a href="#">Search</a></li>
                        <li><a href="#">My Profile</a></li>
                        <li><a href="#">Help</a></li>
                    </ul>
                </div>
            </div>
        </div>
</div>
{% endblock %}

<div id="content">
    {% block content %}{% endblock %}
</div>

<script src="{% static 'js/jquery-2.1.1.js' %}"></script>
<script src="{% static 'js/bootstrap.js' %}"></script>
<script src="{% static 'js/jquery.dataTables.js' %}"></script>


</body>

</html>

这是我的JSON

{"recordsTotal": 3, "recordsFiltered": 3, "result": "ok", "data": [["test1", "123 Main Street", "Chicago", "IL", "60089", "2629999999", "test@google.com", "www.google.com"], ["test2", "123 Main Street", "Chicago", "IL", "60089", "2629999999", "test@google.com", ""], ["test3", "123 Main Street", "Chicago", "IL", "60089", "2629999999", "test@google.com", ""]], "draw": 0}

谢谢你的帮助!在


Tags: divtruemodelsjsscriptstaticlilength