데이터베이스의 모든 이미지가 표시되는 '목록'보기를 작성하려고했습니다.장고 1.10 NoReverseMatch - 종료되지만 일치하지 않습니다?
{% extends "base.html" %}
{% block title %}Your images{% endblock %}
{% block content %}
<ul>
{% for picture in images %}
<a href="{% url "detail" id=picture.id slug=picture.slug %}">
<img src="{{ picture.image.url }}" class="image-detail">
</a>
{% endfor %}
</ul>
{% endblock %}
그리고 목록 및 세부 URL을 : 이 템플릿입니다
url(r'^list/$', views.image_list, name='list')
사용자가 사진을 클릭
url(r'^detail/(?P<id>\d+)/(?P<slug>[\w]+)/$',views.image_detail,name='detail')
def image_detail(request, id, slug):
image = get_object_or_404(Image, id=id, slug=slug)
return render(request,
'images/image/detail.html',
{'section': 'images',
'image': image})
def image_list(request):
images = Image.objects.all()
return render(request,'images/image/list.html',{'images':images})
'detail'보기에는 두 개의 인수 (id 및 slug)가 있습니다. 위의 템플릿에서 각 그림의 ID와 슬러그 (id=picture.id slug=picture.slug
)에 대한 인수를 얻습니다. 나는 서버를 실행 않았다 후, 나는 내가 "NoReverseMatch"오류가 발생했습니다
셸을 시작하고 이미지 모델을 가져 왔으며 ID 및 슬러그가없는 이미지가 있는지 확인하고 싶습니다.
>>> Image.objects.get(id=1,slug='django-and-duke')
<Image: Django and Duke>
실제로 요청한 ID와 슬러그가있는 이미지 개체가 있습니다 ... 무슨 일이 일어나고 있습니까?
편집 : 이미지 모델 :
class Image(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
related_name='images_created')
title = models.CharField(max_length=200)
slug = models.SlugField(max_length=200,
blank=True)
users_like = models.ManyToManyField(settings.AUTH_USER_MODEL,
related_name='images_liked',
blank=True)
image = models.ImageField(upload_to='images',blank=True)
description = models.TextField(blank=True)
created = models.DateField(auto_now_add=True, db_index=True)
objects = models.Manager() # The default manager.
published = PublishedManager() # Our custom manager.
def __str__(self):
return self.title
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
super(Image, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('images:detail', args=[self.id, self.slug])`
어느 URL을 선택하십시오.py는 그 안에있는 패턴입니까? 기본 프로젝트의 urls.py에 없으면 어떻게 포함합니까? – Alasdair
그 오류는 해당 항목이 존재하지 않는다고 말하지 않으며 URL 패턴을 찾을 수 없다고 말합니다. –
모델을 게시 할 때'get_absolute_url' 메서드가 정의되어 있습니까? –