Django html重定向但不加载页面

时间:2014-09-03 00:56:03

标签: python html django django-urls

我正在创建一个Django Web应用程序,并遇到了以下问题。

我创建了一个名为teamList.html的新html页面,当点击主页面上的href超链接时,应该重定向到teamList页面。浏览器中以http://127.0.0.1:8000/开头的网址更改为http://127.0.0.1:8000/teamList,但下方的网页不会更改,而是重新加载起始网页。

当前应用程序在html中处理登录和主页面(登录后默认显示图表):

#index.html
<body>
<img src="{% static "myApp/images/logo.gif" %}" alt="logo" />

{% if user.is_authenticated %}
<p>currently logged in as: {{ user.first_name }} {{ user.last_name }}
<p><a href="/logout">logout</a>
<p><a href="/teamList">Team List</a>

<div id="radarChart">    
{% block radarChartBlock %}{% endblock %}

</div>


{% else%}

<div id="login">
    {% block login %}{% endblock %}
</div>

{% endif %}

</body>

我的urls.py看起来像这样:

from django.conf.urls import patterns, url
from myApp import views

urlpatterns = patterns('',
#http://localhost:8000/             
url(r'^$', views.index, name='index'),
url(r'^/teamList/$', views.renderTeamList, name='teamList')
)

编辑:我的teamList.html的views.py方法如下所示:

from django.shortcuts import render
from django.views.generic.base import TemplateView
from django.contrib.auth.models import User
from django.contrib.auth.decorators import login_required
from myApp.models import FocusArea
from myApp.tables import TeamTable
from django_tables2 import RequestConfig

def renderTeamList(request):
table = TeamTable()
RequestConfig(request).configure(table)
return render(request, 'teamList.html', {'table': table})

1 个答案:

答案 0 :(得分:0)

除了评论之外,您的urls.py也存在问题。您的teamList url的正则表达式以/开头,因此不会与http://127.0.0.1:8000/teamList匹配,因为Django默认会替换前导斜杠。来自文档:

  

不需要添加前导斜杠,因为每个URL都有。例如,它是^文章,而不是^ /文章。

有关详细信息,请参阅Django docs here