[英]Redirection is leading me to Page not found error in Django
項目urls.py包含應用程序URL。 我正在使用HttpResponseRedirect將“喜歡”發布在網站上。 我不嘗試調用模板,因此這就是為什么不使用render_to_response的原因。 我的應用程序視圖是:
def like_article(request, article_id):
if article_id:
a = Article.objects.get(id=article_id)
count = a.likes
count += 1
a.likes = count
a.save()
return HttpResponseRedirect('articles/get/%s' % article_id)
我的應用urls.py反映了這樣的重定向:
url(r'^like/(?P<article_id>\d+)/$', 'article.views.like_article'),
從基礎擴展過來的我的父“文章” HTML文件說:
<p>{{article.likes}} people liked this article</p>
我從base.html擴展的單個文章頁面顯示:
<p><a href="/articles/like/{{article.id}}">Like</a></p>
請指教。
您最好在模板中使用{%url [name] [parameters]%},而在視圖中使用反向功能來創建url。
在您的問題中,我認為問題是網址路由器不匹配。
看到:
<p><a href="/articles/like/{{article.id}}">Like</a></p>
和:
url(r'^like/(?P<article_id>\d+)/$', 'article.views.like_article'),
似乎/article
前綴沒有出現在您的url中。
您是否已映射url-article articles/get/article_id
,即在urlpatterns中添加了類似的模式(例如: url(r'^get/(?P<article_id>\\d+)/$', 'article.views.get_article', name='get_article'),
)元組,您url(r'^get/(?P<article_id>\\d+)/$', 'article.views.get_article', name='get_article'),
用戶重定向到其中!
如果是,那么您是否為此創建了合適的視圖!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.