我收到了这个错误,我不知道为什么:
Reverse for 'buildings.views.generate' with arguments '()' and keyword arguments '{'new_id': -1}' not found.
Run Code Online (Sandbox Code Playgroud)
这是我的urls.py(的一部分):
url(r'^buildings/generate/new_building(?P<new_id>\d+)', 'buildings.views.generate'),
Run Code Online (Sandbox Code Playgroud)
风景:
@login_required
def generate(request, new_id):
session = {}
if new_id == -1:
other_buildings = Building.objects.filter(utente=request.user, pronto=False)
if other_buildings.length > MAX_TEMPORARY_BUILDINGS:
return redirect('buildings.views.index')
else:
building = Building(utente=request.user, pronto=False)
building.save()
return redirect('buildings.views.generate', building_id=building)
elif new_id >=0:
building = Building.objects.filter(pk=new_id)
if building.utente != request.user:
raise Http404
elif building.pronto:
return redirect('buildings.views.detail', building_id=new_id)
elif building.nome == None:
buildings= Building.objects.filter(pronto=True).order_by('utente')
session['buildings'] = buildings
session['building'] = building
else:
raise Http404
return render_to_response('buildings/generate/generate-index.html', session, context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
这里是模板"base.html"中的代码生成错误:
<li><a href="{% url buildings.views.generate new_id=-1 %}">New Building</a></li>
Run Code Online (Sandbox Code Playgroud)
我看不出任何错误,请帮助我.
据推测,这适用于正数.
-1与以下规格不符new_id:
(?P<new_id>\d+)
Run Code Online (Sandbox Code Playgroud)
你需要确保你也匹配-.我认为这应该有效(未经测试):
(?P<new_id>-?\d+)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |