2015-06-16 2 views
0

У меня есть приложение для практики и Угловая JS, установленная через NPM на моей машине на работе. Я называю это в моем base.htm, которые проходят все шаблоны:Угловой JS установлен, но не загружается, в приложении Django

{% block main_header %} 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 

     <meta charset="utf-8"> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <title>Sitename</title> 
     <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.css" rel="stylesheet"> 
     <link href="{% static "screen.css" %}" media="screen, projection" rel="stylesheet" type="text/css" /> 
     <script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
     <script type="text/javascript"> 
      {% block js %}{% endblock %} 
     </script> 
    </head> 
{% endblock %} 

Я просто попытался переустановить его, чтобы быть уверенным, он установлен. В http://www.w3schools.com/angular/tryit.asp?filename=try_ng_default есть пример, и я положил его в Джанго приложении на business_index.html, как так:

{% extends 'base.htm' %} 

{% block body_block %} 

    ....some code 

<div ng-app=""> 

    <p>Input something in the input box:</p> 
    <p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p> 
    <h1>Hello {{name}}</h1> 

</div> 

{% endblock %} 

Некоторые коды заранее это не проблема, я временно удалил его и обновился. Почему мой текст не отображается рядом с hellp, как в примере? Я не должен был хорошо его настроить. Спасибо

+1

При вызове '{{имя}}' это переменная Джанго или угловой один? – Gocht

+0

, который будет угловатым, я получил его с http://www.w3schools.com/angular/tryit.asp?filename=try_ng_default – codyc4321

ответ

1

Если вы еще никогда не работали с Django + AngularJS, я предполагаю, что вы пытаетесь использовать {{ variable }} в своем шаблоне.

Этот синтаксис попытается отобразить переменную Django из представления (переданной context_data).

Вам нужно будет изменить AngularJS теги:

myModule.config(function($interpolateProvider) { 
    $interpolateProvider.startSymbol('{[{'); 
    $interpolateProvider.endSymbol('}]}'); 
}); 

EDIT

Пример:

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

myApp.config(function($interpolateProvider){ 
    $interpolateProvider.startSymbol('{[{'); 
    $interpolateProvider.endSymbol('}]}'); 
}); 

После этого, когда вы хотите вызвать переменную или угловой в вашем шаблоне вы будете использовать {[{angular_variable}]}, и если вы хотите вызвать переменную Django, вы будете использовать {{django_variable}}

Также вы можете увидеть это answer и AngularJS documentation for this topic

+0

, где я, скорее всего, ставил бы этот myModule.config? На верхнем уровне base.htm

Смежные вопросы