angular django将不匹配的url重写为index.html(angular app)

时间:2018-03-27 21:19:35

标签: django angular http-status-code-404 reroute

我有一个django服务器和一个角度应用程序。

我可以启动角度应用,并使用我添加到应用中的链接导航到网站的各个部分。

但如果我想直接访问网站的一部分,我会收到404错误。

示例,如果我的应用中有一个指向我的链接

niftysite.com/team 

它有效

但如果我放入我的浏览器网址

niftysite.com/team 

它失败了404

我理解这是因为默认行为是查找服务器URL中页面的链接。

我也明白,修复方法是让服务器端404重定向到包含路径参数的angular index.html页面。

我的问题是怎么样?

我已经开始实施但我不确定如何修复它。剩下的任何指导都会有所帮助。

这是我到目前为止所拥有的。

urls.py

handler404 = views.error_404

views.py

from django.shortcuts import render

def error_404(request):
    data = {}
    return render(request, 'index.html', data)

类似于这个问题,但我没有使用Nginx

How to redirect 404 requests to homepage in Django single page app using Nginx?

1 个答案:

答案 0 :(得分:0)

以下是实施:

urls.py

class MyPrivateClass
{
public:
  int something = 1;
};

class MyClass
{
public:

  // TODO: initialize pointer in constructor
  // TODO: delete pointer in destructor

  // Note how this setter is const!
  void setSomething(int something) const
    {
      p->something = something;
    }

private:
  MyPrivateClass* p;
};

int main()
{
  return 0;
}

确保此网址是您网址数组中的最后一个网址。

views.py

url(r'^.*$', views.PassToAngular.as_view()) 

感谢MihirKavatkar的帮助!