无法使用双括号来解析变量[重复]
Posted
技术标签:
【中文标题】无法使用双括号来解析变量[重复]【英文标题】:Unable to use double braces to resolve variables [duplicate] 【发布时间】:2019-11-17 05:34:12 【问题描述】:我无法使用双括号来解析变量。这是我的js代码。
var app = angular.module('toDo',[]);
app.controller('toDoController', function($scope, $http)
$http.get('/todo/api/').then(function(response)
$scope.todoList = response.data;
);
);
html 代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>To Do List</title>
% load static %
<link rel="stylesheet" href="% static 'css/todo.css' %">
</head>
<body ng-app="toDo" ng-controller="toDoController">
<h1>Todo List</h1>
<form ng-submit="add()">
<input type="text" ng-model="todoInput" placeholder="Add a new todo task...">
<button type="submit">Add Task</button>
</form>
<br>
<div ng-repeat="todo in todoList">
<input type="checkbox" ng-model="todo.done"><a ng-href="/todo/api/todo.id" ng-bind="todo.task"></a>
</div>
<p>
<button class="delete" ng-click="delete()">Delete</button>
<button class="update" ng-click="update()">Update</button>
</p>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.8/angular.js"></script>
<script src="% static 'js/todo.js' %"></script>
</body>
</html>
显示在屏幕上的任务应该将我重定向到 URL“/todo/api/”。但是大括号中给出的值不能解析它的 ID。目前超链接总是重定向到 url "/todo/api/"。
如果我做错了什么或帮助我解决此问题,请告诉我。
【问题讨论】:
***.com/questions/7772001/… 【参考方案1】:括号由 Django 模板渲染器解释。您可以使用% verbatim %
…% endverbatim %
[Django-doc] 来避免解释双花括号,例如:
<a <b>% verbatim %</b>ng-href="/todo/api/todo.id"<b>% endverbatim %</b> ng-bind="todo.task"></a>
【讨论】:
有什么办法,如果我想在 django 模板中使用?例如:% verbatim % ng-href="% url 'something' todo.id %" % endverbatim %
期待解决 /<django url>/<js variable>
@RajkumarSrinivasan:你应该只使用% verbatim %
...% endverbatim %
你确实不希望渲染解释大括号。但是你不能组合这样的 URL,不,因为这些是由 backend 而不是 frontend 解决的。前端不知道后端的url。以上是关于无法使用双括号来解析变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章