簡體   English   中英

重定向導致我在Django中出現Page not found錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM