Django模板网址链接无法正常工作

时间:2016-03-27 15:50:35

标签: python django

我正在django中为教室信息创建一个应用程序。 index.html显示教师姓名列表。点击它进入详细页面,包含教师和班级信息。 但链接仅指向主页,而不是将teacher_name作为参数。我不确定我哪里出错了。这是我的代码。 的index.html:

{% if Teacher_details %}
<ul>
{% for teacher in Teacher_details %}
<li>
<a href="/teacher/{{teacher.Teacher_Name}}/">
 {{ teacher.Teacher_Name }} &nbsp; {{teacher.Teacher_Name}}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No Teacher details are available.</p>
  {% endif %}

app / url.py

from django.conf.urls import url
from . import views
urlpatterns = [
    url(r'^$', views.index, name="index"),
    url(r'^(?P<Teacher_Name>)/$', views.teacher_view, name="details"),
]

应用程序/ views.py

# all the href goes to index instead of teacher_view.
def index(request):
    Teacher_details=Teacher_data.objects.all()
    t=loader.get_template('index.html')
    c={'Teacher_details':Teacher_details}
    return HttpResponse(t.render(c,request))
def teacher_view(request,Teacher_Name):
    t=loader.get_template('details.html')
    c={'Teacher_details':Teacher_Name}
    return HttpResponse(t.render(c,request))

实施例:    &#39;教师/ MAX&#39;从html页面应该转到details.html页面,其中包含&#39; max&#39;作为变量。   我可以在地址栏中看到该链接。但它只适用于index.html。

2 个答案:

答案 0 :(得分:0)

正则表达式^(?P)/ $我认为与任何名称都不匹配。你可以使用^(?P [^ /] +)/ $。

之类的东西

答案 1 :(得分:0)

试试这个:

url(r'^(?P<Teacher_Name>[W]+)/$', views.teacher_view, name="details"),