我正在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 }} {{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。
答案 0 :(得分:0)
正则表达式^(?P)/ $我认为与任何名称都不匹配。你可以使用^(?P [^ /] +)/ $。
之类的东西答案 1 :(得分:0)
试试这个:
url(r'^(?P<Teacher_Name>[W]+)/$', views.teacher_view, name="details"),