Ben de böyle bir yayını düzenlemek nerede şablonu bağlamaya çalışıyorum:Bir düzenleme sayfasını django adresindeki ayrıntı sayfama nasıl bağlarım?
<a href="{% url 'blog:post_update' pk=post.pk %}">Edit</a>
Ama bana bu hatayı veriyor:
Reverse for 'eintrag_update' with arguments '()' and keyword arguments '{u'pk': 63L}' not found. 1 pattern(s) tried: [u'gaestebuch/(?P<id>[0-9]+)/edit/$']
Ama hiç böyle şablona erişebilirsiniz bir hatasız:
:/blog/(id)/böyle sadece yanındaki bir bağlantı var örneğin bu şablona Her diğer bağlantı çalışmaktadırdüzenlemek 210
Mükemmel şekilde çalışıyor. Bu benim url'dir
def post_update(request, id=None):
instance = get_object_or_404(Post, id=id)
form = PostForm(request.POST or None, request.FILES or None, instance = instance)
if form.is_valid():
instance = form.save(commit=False)
instance.save()
return HttpResponseRedirect(instance.get_absolute_url())
context = {
"title": instance.title,
"instance": instance,
"form":form,
}
return render(request, "blog/write.html", context)
:
Bu
benim görünümüdürurl(r'^(?P<id>[0-9]+)/edit/$', views.post_update, name='post_update'),
Ve bu benim modelidir: Birisi yardımcı olabilir
class Post(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
title = models.CharField(max_length=200)
content = models.TextField()
Gerçekten sevinirim ben mi!
'eintrag'ı' post'a çevirme tehlikesi, hatayı gizleyebileceğinizdir! Bu durumda, ben zaten sorunu tespit ettim düşünüyorum. – Alasdair
Evet haklısınız, daha kolay anlamaya çalıştım. Ve yardımlarınız için tekrar çok teşekkürler! – Dannad