0

嗨,我正在开发一个学生数据库应用程序,我制作了更多功能并偶然发现了这个错误。一切似乎都很清楚我理解这个错误的含义,因为我以前遇到过这个应用程序。我不知道出了什么问题。

 TemplateSyntaxError at /school/
 Caught NoReverseMatch while rendering: Reverse for 'cat' with arguments '('',)' and keyword arguments '{}' not found.
 Exception Type: TemplateSyntaxError 
 Exception Value: Caught NoReverseMatch while rendering: Reverse for 'cat' with arguments '('',)' and keyword arguments '{}' not found. 
 In template /home/tafe/mysite/school/templates/index.html, error at line 3

 Caught NoReverseMatch while rendering: Reverse for 'cat' with arguments '('',)' and keyword arguments '{}' not found.
 1 {% if students %}

 2 <ul>        

 3  {% for student in students %}  
 4  <li><a href="{% url school:cat poll.id %}">{{student.First_name}}</li>    

我的观点.py

 from mysite.school.models import student
 from django.shortcuts import render_to_response
 from django.http import HttpResponse,Http404

 def index(request):     
       students = student.objects.all()
   return render_to_response('index.html',{'students':students})

 def cat(request,poll_id):
   students = get_object_or_404(student,pk =poll_id)
       return render_to_response('student.html',{'students':student})

我的 index.html

 {% if students %}
  <ul>        

{% for student in students %}  
<li><a href="{% url myapp:cat poll.id %}">{{student.First_name}}</li>    
 {% endfor %}
 </ul>
 {% endif %}

我的学生.html

 {% if students %}
 <ul>
   {% for student in students %}  
 <li>{{student.First_name}}</li>
 {% endfor %}
 </ul>

我的网址配置

 from django.conf.urls.defaults import patterns,include , url 
 from django.contrib import admin
 from mysite.school.views import index,cat

 admin.autodiscover()

 urlpatterns = patterns ('',
    url(r'^$',index),
    url(r'^(?P<poll_id>\d+)/$',cat,name='cat'),
 )
4

1 回答 1

2

您学校的主要 urlconf 有$,这就是您收到错误的原因

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^school/',include('school.urls',namespace='school')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += staticfiles_urlpatterns()

随着我走得更远,这些是我遇到的错误:

  1. 您的索引没有 httpresponse
  2. 你没有定义 get_object_404
  3. 如果您的模型是学生,请不要使用与学生相同的变量,将其设为学生或其他任何东西
  4. 当您使用 get_object_404 或仅呈现一个值时。你不能在它上面使用forloop。只需调用 student.first_name 或 student.id
于 2013-02-26T05:30:02.703 回答