(view 与 page之间的数据传递)注:Django xAdmin强化了原生的Admin的诸多功能,有兴趣的可以尝试。
Django Admin本身并不提供数据统计分析功能,而日常的使用中数据的价值是通过一系的整理、提取、转换实现的。数据的统计、分析、展示最简单的方法就是通过数据库查询,对数据结果进行过滤。
1. 数据模型定义,model定义 :
class modelA(models.Model):
......
2. 数据获取
1)all/filter
def get_object_data(request):
#(1)查询表
result_map = modelA.objects.all()
#(2)带条件的表查询
reault_map = modelA.objects.all().filter(column_name = '???')
return render(request,'showdata.html',{'resul':result_map})
2)raw() 执行自定义SQL
Manager.raw(raw_query, params=None, translations=None)
def get_object_data(request):
#(1)查询表
result_map = modelA.objects.raw('select * from table_name')
#(2)带参数的表查询
reault_map = modelA.objects.raw('select * from table_name where column_name = %s', [''])
#(3)不要使用字符串SQL格式作为参数,也不要在SQL中使用引号:SQL注入保护
query = "select * from table_name where column_name = '%s'" % column_value
reault_map = modelA.objects.raw(query)
return render(request,'showdata.html',{'resul':result_map})
2)connection下的cursor -- 没有使用,后续研究
3. 页面展示
#以表格形式展示
<table>
#定义表头
<th>
......
</th>
#定义行
<tr>
{% for result in result_map %} -- template 与 view 建立关系
#定义数据
<td>
{{ result.column_name }}
</td>
{% endfor %}
</tr>
</table>
3. 图例展示 -- 待续
本文介绍如何利用Django Admin进行数据模型定义、数据获取及页面展示,包括使用all/filter方法查询数据,通过raw执行自定义SQL,以及在页面上以表格形式展示数据结果。

3万+

被折叠的 条评论
为什么被折叠?



