【问题标题】:Passing parameters on named patterns via {% url %} in Django templates在 Django 模板中通过 {% url %} 传递命名模式的参数
【发布时间】:2015-11-18 09:45:15
【问题描述】:

在我的模板上我有这个

<a href="{% url 'call_donation' event=event.id %}" class="button" >Pitch in</a>

关于views.py

def callDonation(request, event_id):
    donation = DonationOrder.create(event_id)
    storecod = Store.getStoreCode()
    url = "https://www.externallink.com/pay/payment.asp?codtienda=%s&numcompra=%s&mount=" % (storecod, donation.order_id)
    return HttpResponseRedirect(url)

在 urls.py 上

url(r'^events/(\d+)/$', views.callDonation, name="call_donation")

但是得到

Reverse for 'call_donation' with arguments '()' and keyword arguments '{u'event': 4L}' not found. 1 pattern(s) tried: ['events/(\\d+)/$']

我不知道我应该改变什么才能让它工作

【问题讨论】:

    标签: python django django-templates django-urls


    【解决方案1】:

    您必须在urlpatterns 中指定关键字名称,如下所示:

    url(r'^events/(?P<event_id>\d+)/$', views.callDonation, name="call_donation")
    

    您还必须确保在模板中传递正确的关键字名称(例如 event_id 而不是 event)。

    【讨论】:

      猜你喜欢
      • 2011-04-18
      • 2017-08-11
      • 2016-09-30
      • 2019-07-31
      • 2018-07-07
      • 2019-06-25
      • 2020-09-19
      • 2016-04-26
      • 1970-01-01
      相关资源
      最近更新 更多