jqgrid的django包装器

djqgrid的Python项目详细描述


djqgrid是jqgrid的django包装器。

djqgrid允许您以django熟悉的方式定义网格,同时为您处理大多数普通的python javascript桥。

您可以在ReadTheDocs找到这些文档。

快速示例

djqgrid添加到项目

  1. 使用pip install djqgrid

    安装
  2. djqgrid添加到INSTALLED_APPS中。

  3. 引用jqGridjQueryUIjavascript和css文件

  4. {% static "js/djqgrid_utils.js" %}

    引用脚本
  5. djqgridurl添加到urls.py

    urlpatterns += patterns('', url(r^'grid_json/', include (djqgrid.urls))
    

定义您的模型

class MyModel(models.Model):
    name = models.CharField(max_length=40)
    desc = models.CharField(max_length=100)
    url = models.URLField()
    height = models.IntField()

定义网格

class MyGrid(Grid):
    model = MyModel

    name = TextColumn(title='Name', model_path='name')
    height = TextColumn(title='Height', model_path='height', align='right')
    desc = LinkColumn(title='Description', model_path='desc', url_builder=lambda m: m.url)

这里有一个与MyModelobjects关联的网格-每个网格行代表一个对象。网格有三列:

  1. name-包含model.name
  2. 的基本列
  3. 高度-包含model.height,但右对齐
  4. 描述-包含链接-其文本为model.desc,URL为model.url

需要注意的一点是align='right'-这个属性直接传递给列的colmodel中的jqgrid。任何属性都可以通过这种方式传递给jqgrid。例如,TextColumn(title=...,model_path=..., editable=true)创建可编辑列。

将网格添加到视图和模板

视图:

define myview(request):
    grid = MyGrid()
    return render(request, 'my_template.html', { grid: grid })

模板:

{% load djqgrid %}

<div id="grid-div">
    {% jqgrid grid %}
</div>

现在运行视图。您应该会看到一个非常好的网格,它支持分页和排序。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么使用迭代器。ebean(ORM)模型对象哈希集上的remove()不起作用?   Java日间客户端   需要以java印地语输出编译代码   java如何在Junit4中测试调用私有方法的方法   java CookSwing从文本字段检索字符串   java获取事务中的所有插入ID   stream Java可选如何将一种类型的列表转换为另一种类型   是否需要java Hadoop MapReduce RecordReader实现?   java如何在我的Web应用程序中使用带有路径的xsd模式   java将RTP vp8流保存到webm文件   java Android Studio:无法解析符号“raw”   java如果不使用生成器、静态构造函数或引发异常,如何创建一个包含两个整数的构造函数,而这两个整数永远不相等?   用于Spring安全用户身份验证的java主密码   java REST api返回json但配置为XML?