我創建了一個過濾的搜索列表,以從數據庫中搜索一些項目並將它們顯示在列表視圖中。 我想要做的是顯示項目作爲鏈接到他們的詳細信息頁面。 因爲我使用Django和AngularJS工作存在{{}}從他們兩個,所以我寫之間的衝突,下面的代碼:從Django url內的angularjs傳遞ID
myApp.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('//');
$interpolateProvider.endSymbol('//');
});
,但是當我試圖通過點擊的的ID項目的網址,它不再工作。 我試圖做到這一點我用AngularJS以前做相同的,但我收到以下錯誤:
Reverse for 'line_details' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['baierlab/lines/line/(?P[0-9]+)/details']
現在,代碼是這樣的:
的詳細信息頁面的網址:
url(r'^lines/line/(?P<line_id>[0-9]+)/details', views.line_details, name='line_details'),
在模板的頭:
<script type="text/javascript">
var myApp = angular.module('myApp', []);
myApp.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('//');
$interpolateProvider.endSymbol('//');
});
myApp.controller('FilterInputCtrl', function($scope,$rootScope) {
$scope.items1 = [];
{% for line in lines %}
$scope.items1.push
({
id:{{ line.id }},
name:'{{ line.name }}',
});
{% endfor %}
});
</script>
在身:
<body>
<div id="selection_list" class="container item_padding">
<div ng-controller="FilterInputCtrl" >
<div class="row">
<div class="col-md-6 col-sm-6 col-xs-12">
<input class="form-control" type="text" ng-model="item1" placeholder="Enter your item">
<br />
<ul class="list">
<li ng-repeat="x in items1 | filter:item1 | orderBy:'name'">
<a href="{% url 'line_details' x.id %}">//x.name//</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</body>