django框架使用angular js入门

最近要弄一个带交互界面的豆瓣爬虫,决定使用Python(django)+angular js。等到接触django后才发现有一些问题,整理点心得。

难点一:django和angular都有“{{}}”

在HTML页面中使用数据绑定“{{}}”,如果本意是使用angular,则不能实现,会被Python后端解析。

解决办法:使用$interpolateProvider,改变数据绑定标记

参考文档  http://docs.angularjs.cn/api/ng/provider/$interpolateProvider

加入如下的controller.js代码,将“{{}}”变为“//”,从而区分

  var customInterpolationApp = angular.module('customInterpolationApp', []);

  customInterpolationApp.config(function($interpolateProvider) {
    $interpolateProvider.startSymbol('//');
    $interpolateProvider.endSymbol('//');
  });


  customInterpolationApp.controller('DemoController', function($scope) {
      $scope.label = "This binding is brought you by // interpolation symbols.";
  });

HTML页面中便能直接使用

<div ng-app="customInterpolationApp" ng-controller="DemoController as demo">
    //label//
    <p>hello, //label//</p>
</div>

难点二:单独建一个js文件时,可能上述改变仍不生效

最开始,我在index页面中引入controller.js代码,依旧是错误。思来想去,当时无意中,把angular.js换到了controller.js的前面,然后就生效了,好神奇。

<script src="http://apps.bdimg.com/libs/angular.js/1.4.0-beta.4/angular.min.js"></script>
<script src="../../static/douban/js/controller.js"></script>
估计是页面加载的时候,先加载前面的。如果把controller放在前面,还不能识别里面的angular标记,导致解析识别吧。

欢迎高手指正!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值