2014-09-03 2 views
0

Я создаю веб-приложение Django и столкнулся с следующей проблемой.Django html перенаправляет, но не загружает страницу

Я создал новую html-страницу под названием teamList.html, которая при нажатии гиперссылки href на главной странице должна быть перенаправлена ​​на страницу teamList. URL-адрес в браузере, начинающийся с 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') 
) 

EDIT : Мой метод views.py для моего teamList.html выглядит так:

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

+0

- правильно верните изображение.? –

ответ

0

В дополнение к commen ts есть проблема с вашим urls.py. Ваше регулярное выражение для teamList url начинается с / и поэтому не будет соответствовать http://127.0.0.1:8000/teamList, поскольку Django по умолчанию заменяет косую черту. Из документов:

Нет необходимости добавлять главную косую черту, потому что у каждого URL есть это. Например, это^статьи, а не ^/статьи.

Для получения более подробной информации см. Django docs here.

Смежные вопросы