Django HTML重定向但不加载页面
我正在创建一个Django网页应用,遇到了一个问题。
我创建了一个新的html页面,叫做teamList.html。当我在主页面点击一个链接时,应该跳转到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')
)
编辑:我的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})
1 个回答
0
除了评论之外,你的 urls.py
文件还有个问题。你为 teamList
这个网址写的规则是以 /
开头的,所以它无法匹配 http://127.0.0.1:8000/teamList
。这是因为在Django中,开头的斜杠会被自动处理掉。从文档中可以看到:
其实不需要加开头的斜杠,因为每个网址本身都有这个。比如说,应该写成 ^articles,而不是 ^/articles。
想了解更多细节,可以查看 Django的文档。