【问题标题】:django no reverse match error but i have optional view parametersdjango 没有反向匹配错误,但我有可选的视图参数
【发布时间】:2014-08-09 01:21:51
【问题描述】:

我的以下链接出现“无反向匹配”错误:

<a href="{% url 'journals:entry' action='add'  day_number=journal.day_number  %}" >

我的网址如下所示:

url(r'^day/(?P<day_number>\d+)/(?P<action>add|edit|delete)/(?P<pk>\d+)/$', views.entry, name='entry'),

我的观点是这样的:

def entry(request, day_number=0, pk=None, action='add'):

我没有 pk,但我认为我不需要一个,因为此参数是可选的。

我做错了什么?

【问题讨论】:

    标签: python django django-views django-urls


    【解决方案1】:

    您需要添加pk 参数。

    <a href="{% url 'journals:entry' action='add'  day_number=journal.day_number pk=... %}" >
    

    如果你想让pk 可选,修改模式如下:

    url(r'^day/(?P<day_number>\d+)/(?P<action>add|edit|delete)/(?P<pk>\d+)?/$',
        views.entry, name='entry'),
    

    【讨论】:

    • 但它是一个可选参数?
    • @Atma,它不是可选参数。
    • 我怎样才能让它成为可选的?
    • @Atma,修改模式:....(?P&lt;pk&gt;\d+)?(通过在要使其可选的部分后附加?
    • 我想如果你设置一个带有默认值的参数,它就变成了可选的? diveintopython.net/power_of_introspection/…
    猜你喜欢
    • 1970-01-01
    • 2017-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 2017-04-25
    • 2013-01-04
    • 2011-11-03
    相关资源
    最近更新 更多