Django NoReverseMatch:与#x27相反;添加解决方案&x27;带参数';(';';,)';没有找到。尝试了1种模式:[';共享/(?P<;pk>;\\d+;)/add#u solution/$';]

Django NoReverseMatch:与#x27相反;添加解决方案&x27;带参数';(';';,)';没有找到。尝试了1种模式:[';共享/(?P<;pk>;\\d+;)/add#u solution/$';],django,Django,重点是,我有练习+解决方案 当我点击Execise时,有一个添加解决方案按钮,但是。。。 我得到了这个错误: django.urls.exceptions.NoReverseMatch: Reverse for 'add_solution' with arguments '('',)' not found. 1 pattern(s) tried: ['share/(?P<pk>\\d+)/add_solution/$'] 我的模板: <form method="post" a

重点是,我有练习+解决方案 当我点击Execise时,有一个添加解决方案按钮,但是。。。 我得到了这个错误:

django.urls.exceptions.NoReverseMatch: Reverse for 'add_solution' with arguments '('',)' not found. 1 pattern(s) tried: ['share/(?P<pk>\\d+)/add_solution/$']
我的模板:

<form method="post" action="{% url 'Share:add_solution' pk%}">
                        {% csrf_token %}
                       <button class="btn btn-success px-5">Add solution</button>
 </form>

{%csrf_令牌%}
添加溶液
如果我从url中删除(?p\d+),ir会工作,但我需要手动指定练习。但我想从url获取练习id,并在添加解决方案时自动填充练习填充。
提前感谢。

将“添加解决方案”与参数“(”,)”反向使用。

模板上下文中的
pk
变量为空字符串
'
,或者未定义。它应该是一个数字

<form method="post" action="{% url 'Share:add_solution' pk %}">


据我所知,我的按钮直接重定向到^add\u solution/$ignoring pk,我如何才能使按钮转到^pk/add\u solution?我不明白你的意思。您的url模式需要
pk
值,或者不需要。如果需要pk,那么你必须提供pk。哦,明白了。谢谢
<form method="post" action="{% url 'Share:add_solution' pk%}">
                        {% csrf_token %}
                       <button class="btn btn-success px-5">Add solution</button>
 </form>
<form method="post" action="{% url 'Share:add_solution' pk %}">