如何使Django与Angular URL一起运行良好

时间:2016-04-25 03:11:19

标签: django angular

在Django服务的Angular 2应用程序中,如何在重新加载页面时使Angular 2 URL与Django一起使用?

具体来说,说Django提供的页面有网址Zone。该页面包含3个选项卡,其中一个是Angular应用程序。单击该选项卡会显示Angular应用程序,并且网址将更改为addPerson(Person p)。现在,如果使用此URL 刷新浏览器,Django将显示404,这是有道理的,因为Django应用程序中不存在http://localhost:8000/home

那么如何使Angular URL工作? (输入http://localhost:8000/home/ng_app会导致Angular应用程序而不是404。谢谢!

3 个答案:

答案 0 :(得分:1)

假设您的整个应用都来自/home,您可以使用以下网址模式:

urlpattern('/home/.*$', views.my_angular_homepage)

如果您想在使用任何标准技巧捕获URL的尾随部分后再重定向到所有路径,然后在angularJS应用程序中执行$location.path

答案 1 :(得分:1)

您应该考虑在角度应用中使用哈希刘海作为网址。结帐this tutorial我通过谷歌搜索找到了哪些也使用了刘海的URL。

通过这种方式,角度应用程序URL不会与您的Django应用程序冲突,Angular会将其用于路由目的

答案 2 :(得分:0)

使用url(r'^/home/(?!ng_root/).*$',其中ng_root是角度静态文件的根URL。

查看我的博文,了解更多详情https://4sw.in/blog/2016/django-angular2-tutorial/