在我的AngularJS应用程序中,我通过Angular-UI-router进行了简单的URL配置:
config(function($stateProvider, $urlRouterProvider, $locationProvider){
$urlRouterProvider.otherwise("/");
$stateProvider
.state({
name: 'land',
url: "/",
templateUrl: "main_ang.html",
controller: 'showSomethingCtrl'
})
.state({
name: 'tournaments',
url: "tournaments/",
templateUrl: 'tournaments_list_ang.html',
controller: 'showTournamentsCtrl'
});
$locationProvider.html5Mode(true);
})
首先这个应用程序是基于Django的,但是现在我想用Django Rest Framework和AngularJS重写它,这就是为什么我从Django的urls.py注释掉'/ tournaments /'URL:
urlpatterns = patterns('',
url(r'^$', "chess_tournaments.views.Main", name='main'),
# url(r'^tournaments/$', 'chess_tournaments.views.TournamentsView', name='tournaments'),
# url(r'^tournament/(?P<tournament_id>\d+)/$', 'chess_tournaments.views.TournamentDetailView',
# name='tournament_detail'),
url(r'^tournament_new/$', 'chess_tournaments.views.TournamentDetailView', name='tournament_new'),...
当我首先导航到127.0.0.8000然后单击与ui-sref =“tournaments”的正确链接时,一切顺利。但导航到127.0.0.8000/tournaments会导致“找不到页面(404)”错误。我想我应该首先向客户的浏览器提供angular的应用程序,但是这样做的正确方法是什么?