Angularjs routing mit django-urls
Ich bin mit AngularJS für meine front-end-und Django als back-end.
Mir geht es sehr einfache Dinge, auf die back-end-so habe ich das nicht betrachtet mit tastypie.
Dem problem, wo ich geblieben bin, ist die client/server-routing. Ich bin gründlich verwirrt.
Was ich mache ist:
-
Rendern entry.html Seite von django-die
<div ng-view></div>
im Körper.
Ich gehe davon aus, dass nach diesem das routing erfolgt durch Winkel-der routeProvider -
In meinem static/js Ordner habe ich eine Datei app.js das legt die route für eine andere Vorlage für das Formular, das ich ausfüllen soll
Allerdings, wenn ich führen Sie das Projekt und laden Sie die app den Eintrag für die url, ich bekomme keine Weiterleitung auf das Formular.
Alle javascript-Dateien sind enthalten und ich sehe nicht jede 404 s in meinem log.
Was mache ich hier falsch ?
UPDATE :
app.js
App.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/',{templateUrl: '/templates/workflow/request_form.html', controller:EntryCtrl})
.otherwise({redirectTo:'/'})
}]);
entry.html
{% extends "site_base.html" %}
{% load staticfiles %}
{% block body %}
<div class='ng-app'>
<div class='row-fluid'>
<ng-view></ng-view>
</div>
</div>
{% endblock %}
{% block extra_script %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"> </script>
<script src="http://code.angularjs.org/1.0.6/angular-resource.min.js"></script>
<script src="http://code.angularjs.org/1.0.0rc10/angular-cookies-1.0.0rc10.js"> </script>
<script src="/static/js/controller.js"></script>
<script src="/static/js/app.js"></script>
<script src="/static/js/bootstrap.min.js"></script>
<script src="/static/js/bootstrap-datepicker.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?keyAIzaSyCLZKcTGUw9V0- UcEHuZMCf6uZpNZZaVrg&sensor=false"></script>
{% endblock %}
controller.js
var App = angular.module('app', ['ngResource']);
function EntryCtrl($scope, $http, $routeParams, $location, master)
{
$scope.form = master.form
}
- Könnte Sie posten app.js code?
- Wir gehen zu müssen, um zu sehen, einige code. Hast du definieren
ng-app
in der Vorlage? Haben Sie bei der Einrichtung Ihres Angular-Modul, konfiguriert für die Verwendung des routeProvider? - Sicher aktualisiert. Das sind meine beiden Dateien, die ich benutze.
- sieht die Seite etwas Rendern? machen Sie Fehler auf der javascript-Konsole?
- Was ist Ihre
EntryCtrl
? - Die Seite rendert den hintergrund und andere Dinge. Es gibt keine Fehler in der javascript-Konsole im browser zu
- Es gibt nichts, seine leere controller für jetzt. Ist das ein problem ? :/
- wie wollen Sie initialisieren? das kann das Problem sein. können Sie nach den genauen code für, die.
- Ich habe die controller-code. Ich bin ein total Anfänger in eckige, so verzeihen Sie mir für dumme Fragen 😛
- Ich bin auch ein Anfänger in eckig. Dieses Buch (shop.oreilly.com/product/0636920028055.do) hat mir geholfen, um loszulegen. Viele Beispiele gibt es gebrochen ist, aber es erklärt die Allgemeine Idee, wie eckig. Es könnte dir auch helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie definieren den controller als Teil des Moduls. Versuchen Sie Folgendes:
und Sie sollten nur definieren Sie die app einmal innerhalb der
app.js
:Dann stellen Sie sicher, gehören diese nach der Definition des angular-app in der Vorlage:
Statt zu schreiben
Sollten Sie schreiben:
den
{% endraw %}
wird verwendet, um zu sagen, die Template-engine (wenn es jinja2) nicht zu Bedenken, was ist zwischen diesen BlöckenUnd ich denke, dass Winkel-Richtlinie sollen in einen html-tag und nicht wie
<ng-view>
div
auch so. Es funktioniert nicht sowieso.