在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。谢谢!
答案 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/。