2016-06-26 72 views
0

我有Django的服務器角JS路由讓人無限循環

urls.py

urlpatterns = [ 
    url('^', IndexView.as_view(), name='index') 
] 

登陸/ urls.py

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url('^.*', include("landing.urls")) 
] 

views.py

class IndexView(TemplateView): 
template_name = 'landing/header.html' 

def get_context_data(self, **kwargs): 
    context = super(IndexView, self).get_context_data(**kwargs) 
    context['meals'] = get_data() 

    return context 

header.html

<html lang="en" ng-app="KolyadaApp"> 

<div ng-view></div> 
<a class="navbar-brand" ng-href="/landing">landing</a> 
<a ng-href="#/menu">menu</a> 
<a ng-href="#/week">week</a> 

app.js

'use strict'; 

/* Controllers */ 
var KolyadaApp = angular.module('KolyadaApp', ['ngRoute', 'ngResource']); 

angular. 
    module('KolyadaApp'). 
    config(['$locationProvider', '$routeProvider', '$interpolateProvider', 
    function config($locationProvider, $routeProvider, $interpolateProvider) { 
    $interpolateProvider.startSymbol('{$'); 
    $interpolateProvider.endSymbol('$}'); 

    $routeProvider. 
     when('/', { 
      templateUrl: function(route) { 

       console.log(route); 

       return '/'; 
      } 
     }). 
     when('/menu', { 
      templateUrl: '/menu.html' 
     }). 
     when('/week', { 
      templateUrl: '/week.html' 
     }). 
     otherwise('/', { 
      redirectTo:'/' 
     }); 
} 
]); 

我得到了什麼:在加載頁面,我也沒有辦法的鏈接,控制檯日誌定期告訴我關於調用堆棧溢出。並且很難關閉標籤。

那麼,經過一段時間的搜索答案,並在所有可能的地方放置'/',我決定問你。請告訴我錯在哪裏。

謝謝。

+0

爲什麼你認爲問題是由於路由器?看起來足夠簡單 – charlietfl

+0

好吧,我不除了我只是使用'路由器'錯誤,但這段代碼很簡單,它不起作用。我不知道該怎麼辦以及如何進行調試,谷歌搜索沒有給我答案。我添加到代碼的最後一件事是路由。如果你看到我試圖使用功能來調試=) – theroom101

+0

瞭解......最後的評論可能會有所幫助..直到添加路由器纔開始問題。這就是我問的原因。否則'看起來不正確,請嘗試改爲'否則({redirectTo:'/'})' – charlietfl

回答

1

這是你的問題,我相信:

urls.py

urlpatterns = [ 
    url('^', IndexView.as_view(), name='index') 
] 

登陸/ urls.py

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url('^.*', include("landing.urls")) # Circular reference 
] 

你重裝landing.urls裏面你包括標記每次加載landing/urls.py

您是不是指該行在urls.py?如果是這樣,您需要修改其中的一個或兩個,以避免衝突(即^^.*都與空字符串匹配)。