简体   繁体   English

django没有反向匹配错误,但是我有可选的视图参数

[英]django no reverse match error but i have optional view parameters

I have the following link that is getting a "no reverse match" error: 我有以下链接出现“无反向匹配”错误:

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

My url looks like this: 我的网址看起来像这样:

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

My view looks like this: 我的看法如下:

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

I don't have a pk but I thought I don't need one since this param is optional. 我没有pk,但我想我不需要,因为此参数是可选的。

What am I doing wrong? 我究竟做错了什么?

You need to add pk argument. 您需要添加pk参数。

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

If you want to make pk optional, modify the pattern as follow: 如果要使pk可选,请按照以下方式修改模式:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM