Python Django没有反向匹配/
我试图把一张图片做成图片所代表的帖子的url,我一定是做错了什么,但我不知道是什么 当我试图访问我的网站主页时,我遇到了这个错误 模板呈现期间出错 在template…/home.html中,第48行出现错误 找不到具有关键字参数“{'post\u id':''}”的“view\u post”的反转。尝试了1个模式:[“post/(?P[0-9]+)/$”] 以及它所展示的代码Python Django没有反向匹配/,python,django,Python,Django,我试图把一张图片做成图片所代表的帖子的url,我一定是做错了什么,但我不知道是什么 当我试图访问我的网站主页时,我遇到了这个错误 模板呈现期间出错 在template…/home.html中,第48行出现错误 找不到具有关键字参数“{'post\u id':''}”的“view\u post”的反转。尝试了1个模式:[“post/(?P[0-9]+)/$”] 以及它所展示的代码 <a href="{% url 'view_post' post_id=post.post_id %}">
<a href="{% url 'view_post' post_id=post.post_id %}"><img src="media/{{ item.image }}"></a>
和url
url(r'^post/(?P<post_id>[0-9]+)/$', views.view_post, name='view_post'),
url(r'^post/(?P[0-9]+)/$),views.view\u post,name='view\u post'),
谢谢您的帮助。我根据您的代码示例做了一些假设。这一行:
post = get_object_or_404(Post,id=post_id)
表示类Post
具有属性id
。但是,在模板中,可以调用post.post\u id
。假设post
是类post
的对象实例,它应该具有属性id
。类post
中可能没有类似于post\u id
的属性
这意味着在模板post.post\u id
中不会返回输出。此处未显示的URL应为整数['post/(?P[0-9]+)/$']
。因此抛出错误
请尝试以下代码段:
{% url 'view_post' post_id=post.id %}
看看会发生什么
正如我所说,这是基于一些假设,我不能保证成功。我根据您的代码示例做出一些假设。这一行:
post = get_object_or_404(Post,id=post_id)
表示类Post
具有属性id
。但是,在模板中,可以调用post.post\u id
。假设post
是类post
的对象实例,它应该具有属性id
。类post
中可能没有类似于post\u id
的属性
这意味着在模板post.post\u id
中不会返回输出。此处未显示的URL应为整数['post/(?P[0-9]+)/$']
。因此抛出错误
请尝试以下代码段:
{% url 'view_post' post_id=post.id %}
看看会发生什么
正如我所说,这是基于一些假设,我不能保证成功。结果证明我只是愚蠢,让自己很难做到。问题是我做了
,结果证明我只是个傻瓜,让自己很难做到。问题是我已经做了post.post\u id的值是多少?在模板{{post.post\u id}}
中的某处尝试并检查输出。正如我所看到的,post\u id
值是空字符串(从错误行-{'post\u id':''}
),但模式仅与非空数字[0-9]+
post.post\u id
的值是什么?在模板中的某个地方尝试{{post.post\u id}
并检查输出。正如我所看到的那样,您的post\u id
值是空字符串(从错误行-{'post\u id':''}
),但模式仅与非空数字匹配[0-9]+
嘿,谢谢您的回答。关于post_id不是post的属性,您是对的,在模板中选中了{{post.id},它确实有一个整数值,但是在更改为{%url'view_post'post_id=post.id%}之后,我仍然会得到相同的错误。@zmksa如果答案对您的问题有解决方案,请您接受它。嘿,谢谢您的答案。关于post_id不是post的属性,您是对的,在模板中选中了{{post.id},它确实有一个整数值,但是在更改为{%url'view_post'post_id=post.id%}后,我仍然会得到相同的错误。@zmksa如果答案对您的问题有解决方案,你能接受吗。你的问题现在完全解决了吗?是的,一旦我把post.id添加到主页上,一切都按计划进行,我可以继续。谢谢你的帮助。如果我的答案没有完全解决问题,而你找到了如上所述的解决方案,请你扩展你的答案,以便对其他人也有帮助。然后你可以接受自己的答案。你的问题现在完全解决了吗?是的,一旦我将post.id添加到主页,一切都按计划进行,我可以继续。谢谢你的帮助。如果我的答案没有完全解决问题,而你找到了如上所述的解决方案,请你扩展你的答案,以便对其他人也有帮助。然后你可以接受自己的答案。