Django 登录重定向后未触发$routeProvider
我有一个基本的Django应用程序(Django 1.7),带有使用基本路由的AngularJS(1.2.19)前端。首次访问站点时,路由将正确加载并在ng视图中显示内容。但是,如果我转到/login并成功登录到站点(默认的Django登录页面),我将被重定向到主页,并且无法在ng视图中加载路由。我必须重新加载页面(通常两次)或清除缓存才能加载ng视图中的内容。即使单击“我的模板”中的链接也无法显示ng视图内容。重定向后如何强制在ng视图中加载内容 home.htmlDjango 登录重定向后未触发$routeProvider,django,angularjs,angularjs-routing,Django,Angularjs,Angularjs Routing,我有一个基本的Django应用程序(Django 1.7),带有使用基本路由的AngularJS(1.2.19)前端。首次访问站点时,路由将正确加载并在ng视图中显示内容。但是,如果我转到/login并成功登录到站点(默认的Django登录页面),我将被重定向到主页,并且无法在ng视图中加载路由。我必须重新加载页面(通常两次)或清除缓存才能加载ng视图中的内容。即使单击“我的模板”中的链接也无法显示ng视图内容。重定向后如何强制在ng视图中加载内容 home.html <html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular-route.js"></script>
</head>
<body ng-app="testyApp">
<h1>Routing Test</h1>
<ul>
<li><a href="#/">Default</a></li>
<li><a href="#/test">Other</a></li>
</ul>
<div ng-view></div>
<script type="text/javascript" src="/static/main.js"></script>
</body>
</html>
views.py
from django.shortcuts import render
def home(request):
return render(request, 'home.html')
login.html
{% extends 'base.html' %}
{% block header_text %}Login{% endblock %}
{% block content %}
<form name="loginForm"
method="post"
action="{% url 'django.contrib.auth.views.login' %}">
{% csrf_token %}
{% for field in form %}
<div>
{{ field.label_tag }}
<br>
{{ field }}
</div>
{% endfor %}
<div>
<input type="submit"
value="Login"
id="id_submit">
</div>
</form>
{% endblock %}
{%extends'base.html%}
{%block header_text%}登录名{%endblock%}
{%block content%}
{%csrf_令牌%}
{%形式的字段为%}
{{field.label_tag}
{{field}}
{%endfor%}
{%endblock%}
更多信息:
经过一些更深入的测试,这个问题似乎与使用Chrome作为我的测试浏览器无关。对于Firefox和Safari(未测试Opera),ng视图在登录页面重定向后按预期加载。我不知道为什么会这样。如有任何解释,我们将不胜感激。请打开chrome开发工具,并告知我们在重定向阶段控制台中是否出现任何错误。我认为没有任何错误。当使用AWS部署测试站点时,我的问题消失了。我可能很容易出错,但这让我觉得这个错误实际上是由于Django开发服务器的问题造成的。这听起来肯定是一个特定于环境的问题,但chrome会告诉你更多(在开发控制台中)。铬不合格是很常见的。
from django.shortcuts import render
def home(request):
return render(request, 'home.html')
{% extends 'base.html' %}
{% block header_text %}Login{% endblock %}
{% block content %}
<form name="loginForm"
method="post"
action="{% url 'django.contrib.auth.views.login' %}">
{% csrf_token %}
{% for field in form %}
<div>
{{ field.label_tag }}
<br>
{{ field }}
</div>
{% endfor %}
<div>
<input type="submit"
value="Login"
id="id_submit">
</div>
</form>
{% endblock %}