我的 urlconf 有问题。尝试访问页面时出现以下错误:NoReverseMatch at /admin/r/17/1/
使用参数 '()' 和关键字参数 '{'slug': u'yummy-cake'}' 反转'reward'。尝试了 1 种模式:['prizes/(?P)/$']
如果我手动输入网址,我会找不到页面。
我的网址配置:
....
url(r'^prizes/$', PrizeList.as_view(), name="prize_list"),
url(r'^prizes/(?P<slug>\w+)/$', GetPrize.as_view(), name="prize"),
....
我的模型:
class Prize(models.Model):
prize_name = models.CharField(max_length=30, blank=False, null=False, verbose_name="the prize's name")
prize_slug = models.SlugField(max_length=30, blank=False, null=False, verbose_name="the prize slug")
prize_excerpt = models.CharField(max_length=100, blank=False, null=False, verbose_name="prize excerpt")
company = models.ForeignKey('Company')
prize_type = models.ManyToManyField('Prize_Type')
def get_absolute_url(self):
return reverse('omni:reward', kwargs={'slug':self.prize_slug})
def __str__(self):
return self.prize_name
最后,模板的一些相关部分:
class GetPrize(SingleObjectMixin, FormView):
template_name = 'omninectar/prize.html'
slug_field = 'prize_slug'
form_class = Redeem_Form
model = Prize
有任何想法吗?