反向''参数'()'和关键字参数' {}'未找到。

时间:2014-11-28 00:52:07

标签: python django

我写了留言板,当用户将留言和成功留回页面时 我想提醒('成功留言,非常感谢。') 我发现一种方法是使用return redirect(reverse(...))

但是当我尝试时出现错误:
Reverse for '/maininfo/#5thPage' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

请帮帮我,谢谢。

views.py

def maininfo(request):
    return render(request, 'zh_tw/maininfo.html',)

def create_post(request):
    if request.method == 'POST':
        form = MessageForm(request.POST)
        if form.is_valid():
            form.save()
            # return HttpResponseRedirect('/maininfo/#5thPage')
            return redirect(reverse("/maininfo/#5thPage"), {"alert":'sucess leaving message,Thank you very much.'})
        return render(request, "zh_tw/maininfo.html",{'form': form,'anchor':'#5thPage'})

urls.py

urlpatterns = patterns('',url(r'^maininfo/$', views.maininfo, name='maininfo'),)

模板:zh_tw / contact.html
(这是zh_tw / maininfo.html包含的锚页面)

<script type="text/javascript">
$( document ).ready(function() {
   {% if alert %}
      alert('{{alert}}');
   {% endif %}
 });
</script>

1 个答案:

答案 0 :(得分:0)

反向的参数是urlpattern中的名称或视图模块。在你的情况下,它应该是

views.maininfo

'maininfo'

此外,$表示Python正则表达式中字符串的结尾。因此,您可能无法解析&#39; / maininfo /#5thPage&#39;使用模式^ maininfo / $。在此处查找更多信息:https://docs.djangoproject.com/en/dev/topics/http/urls/