我正在使用GAE版本1.7.0和从Google的示例应用下载的“django_example”应用。如果我使用dev_appserver.py
运行此应用,则可以正常使用。
然后我修改了应用程序以使用Django 1.2(默认使用0.96)。我登录,然后点击“创建新礼物”,然后我得到:
渲染时捕获NoReverseMatch:反向'views.edit',参数'('',)'和关键字参数'{}'未找到。
调试屏幕将违规行(在gift.html
中)显示为
<form action="<span class="specific">{%url views.edit gift.key.id%}</span>" method="post">
使用“创建新礼物”按钮,gift.key.id
等于None
。我也试过使用Django 1.3并得到了类似的错误。
有人可以告诉我为什么它适用于0.96,但不适用于1.2或1.3?
更新
我没有修改任何这些测试的原始示例中的'urls.py'。该文件包含:
from django.conf.urls.defaults import *
urlpatterns = patterns(
'',
(r'^$', 'views.index'),
(r'^new$', 'views.new'),
(r'^edit/(\d+)$', 'views.edit'),
)