django的小操作,查询效率up, 引用art-template模板+djangorestframework

Part1: 提高查询效率
newses = News.objects.select_related('category', 'author').get(id=1) # category和author字段为News表的外键, 使用select_related查询,会等待前端请求完毕后一次性查询出所有的数据

前端:
{% for news in newses %}
  {{ news.category.name }}
  {{ news.author.username }} # 这两个字段为外键
{% endfor %}

这样能减少查询的次数,提高效率

Part2:
后端通过djangorestframework传送art-tenplate模板需要的数据
详情下一篇 。。https://www.cnblogs.com/tangpg/p/9300256.html

art-template模板
引入template-web.js文件,官网Github中lib文件夹中,can copy after Raw
并声明django不解析该模板,
each模块的使用,
{*
    用一个type="text/html"的script标签存放模板:
    HTML代码
*}
{% verbatim %} 向django声明不解析该模板
<script id="test" type="text/html"> <h1>{{title}}</h1> <ul> {{each list as value i}} <li>索引 {{i + 1}} :{{value}}</li> {{/each}} </ul> </script>
{% endverbatim %} // 渲染模板 js代码 var data = { title: '标签', list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他'] }; var html = template('test', data); // document.getElementById('content').innerHTML = html;

// 指定添加到box这个地方
var box = $('#box-for-art-template-model');
box.append(html)

django 的 model的pk属性代表model的primary key

 New.pk = New.id

class New(models.Model):
     
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=100)

 

posted on 2018-07-12 14:50 .Tang 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/tangpg/p/9299415.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值