2014-09-03 60 views
0

我正在創建一個Django的Web應用程序,並遇到以下問題。Django的html重定向,但不加載頁面

我創建了一個名爲teamList.html的新頁面,當點擊主頁面上的href超鏈接時,它應該重定向到teamList頁面。瀏覽器中的網址起始爲http://127.0.0.1:8000/,更改爲http://127.0.0.1:8000/teamList,但下面的頁面不會更改,而是重新加載起始頁面。

當前的應用程序處理的H​​TML登錄和主網頁本身(默認登錄顯示圖形之後):

#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}) 
+4

你的觀點在哪裏?那就是你想要重定向的地方。 – Dan 2014-09-03 01:23:39

+0

是視圖正確返回。? – 2014-09-03 05:56:13

回答

0

除了commen您的urls.py存在問題。 teamList的正則表達式開頭爲/,因此不會匹配http://127.0.0.1:8000/teamList,因爲默認情況下,Django會替換前導斜槓。從文檔:

有沒有必要添加一個前導斜槓,因爲每個URL都有。例如,它是^文章,而不是^ /文章。

欲瞭解更多詳情,請參閱Django docs here