使用django-tables2展示HTML表
作为不擅长前端的Django初学者,如何能够美观展示HTML table是一个头疼的事。
虽然django很容易实现查询表格并展示,但是简陋的table显得很不专业。
django-tables2 是一个创建HTML tables的app,简化了对样式等技术的开发要求。
本文是官方手册的摘要,原文非常简练,以快速完成项目工作为目标。
安装
django-tables2
pip install django-tables2在app中使用django-tables2
django-tables2创建Django app (这里命名是
tutorial)
python manage.py startapp tutorial在项目的
settings.py的INSTALLED_APPS中添加django_tables2和turorial在
tutorial/models.py中添加model
# tutorial/models.py
class Person(models.Model):
name = models.CharField(max_length=100, verbose_name='full name')使用以下命令创建数据库表
python manage.py makemigrations tutorial
python manage.py migrate tutorial通过django shell添加数据库表内容
处理
Person查询集的视图
创建模板
以上完成后可以看到一个简单的页面 http://localhost:8000/people/
下面将开始真正的Table定制
为了能够定义一个定制的查询页面,首先定义一个
Table类:
然后配置view中的table
使用
RequestConfig自动从reuqest.GET取出值并相应过更新表格。这样数据就会整齐和页面化。
然后将查询集(
queryset)传递给render_table而不是传递给table instance:
现在就可以看到一个bootstrap3 stylesheet的表单了:

参考
Last updated
Was this helpful?