我有以下型号:NoReverseMatch错误的Django
class UserPlaceReview(models.Model):
place = models.ForeignKey(PlaceReview)
review = models.TextField()
def __str__(self):
return self.review
class PlaceReview(models.Model):
name = models.CharField(max_length=150)
location = models.CharField(max_length=250)
image = models.ImageField(upload_to = image_upload_location,null=True, blank=True)
category = models.ForeignKey(Categories)
slug = models.SlugField()
timestamp = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("categories:detail", kwargs={"slug": self.slug})
在我的主要urls.py,我有以下网址:
url(r'^categories/', include('places.urls', namespace='categories')),
,并在我的应用程序urls.py,我有以下网址:
url(r'^(?P<slug>[\w-]+)/review/$', user_place_review, name='user_review'),
在模板中我试图做这样的事情,给了我一个没有反向匹配错误:
<a class="btn btn-primary btn-lg" href="{% url 'categories:user_review' %}">Write A Review!</a>
链接到网址的观点是:
def user_place_review(request,slug):
place = PlaceReview.objects.get(slug=slug)
form = UserPlaceReviewForm(request.POST or None)
if form.is_valid():
instance = form.save(commit=False)
review = form.cleaned_data['review']
instance.place = place
instance.review = review
instance.save()
return redirect('/')
context = {
"form": form,
}
return render(request,"places/user_review.html", context)
我无法找到错误的原因。
,因为我有(塞的instance.get_absolute_url不起作用)/审查添加在我的网址。它会让我在同一页面,并不会带我/查看 – indexOutOfBounds
非常感谢。我们通过从我们的实例slu works的其他选项工作 – indexOutOfBounds
好吧,创建一个更多的方法绝对网址的审查,它也会工作 – Aniket