我知道从AngularJS中删除哈希是非常简单的,但问题是后端是在Django中。
因此,除非使用" F5"刷新页面,否则该应用程序可以正常工作。
所以,如果单击按钮,则http://127.0.0.1:8000/account
有效但刷新页面会在Page not found
文件
urls.py
时提供currentScore
有人可以建议我解决这个问题吗?
答案 0 :(得分:2)
一切都是对的。刷新页面时,首先在服务器上处理请求(然后转到django路由器)。因此服务器应该知道它应该返回此URL的角度页面。
假设您的包含Angular应用程序的页面位于名为index
的视图上。然后只需将此网址指向它:
urlpatterns = [
url(r'^account/$', index),
]
或将所有网址指向您的视图(如果您不需要处理任何其他网址而没有角度):
//something like this, not really sure about the regex
urlpatterns = [
url(r'^.*$', index),
]
或类似
urlpatterns = [
url(r'^/account/.*$', index),
]
您并不是唯一遇到此问题的人:请参阅this和this。 正如您所看到的,这不是特定于Django的麻烦,而是一些常规的客户端 - 服务器工作流程。
答案 1 :(得分:0)
使用Locationprovider而不是routeProvider并启用html5为true。 https://docs.angularjs.org/api/ng/provider/ $ locationProvider