python - 找不到页面 (404) 喜欢按钮
问题描述
我的模板中有一个按钮,但它没有返回给我。我有什么问题
HTML 代码
<form action="{% url 'blog:like_post' post.id post.slug %}">
{% csrf_token %}
<button type='submit',name = 'post_id', value = "{{post.id}}" class="btn btn_primary btn_sm">Like</button>
{{ total_likes }} Likes
</form>
视图.py
@login_required
def like(request, id, slug):
pk = request.POST.get('post_id')
print(pk)
post = get_object_or_404(Post, id = pk)
post.likes.add(request.user)
return HttpResponseRedirect(reverse('blog:detail'),kwargs={'id': id, 'slug':slug})
@login_required
def DetailPost(request, id, slug):
post = Post.objects.get(id=id, slug=slug)
total_likes = post.total_likes()
context = {
'post' : post,
'total_likes' : total_likes,
}
return render(request, 'blog/PostDetail.html', context)
网址.py
urlpatterns = [
re_path(r'detail/(?P<id>[0-9]+)/(?P<slug>[-\w]+)/', DetailPost, name='detail'),
re_path(r'like/(?P<id>[0-9]+)/(?P<slug>[-\w]+)/', like, name='like_post')
]
我在我的终端打印 pk 并且它显示 None 为 pk 的值
解决方案
推荐阅读
- sql - 在 oracle SQL 中创建一个名为 lastnamefirst 的用户定义函数
- function - 如何让tail函数返回我需要的东西?
- sql - Oracle SQL - 生成唯一的 sAMAccountName
- javascript - javascript: `Date()` 和 `new Date()`
- regex - 正则表达式在文件中搜索一组括号,其中包含八个字符,全为 1 或 0,至少有一个 1?
- graphql - Absinthe Graphql 嵌套查询安全性
- c - C - 将带有重复分隔符字符的字符串拆分为 2 个子字符串
- java - 无法通过构造函数自动装配
- java - 为什么 ScheduledExecutorService 使用“新”关键字导致内存泄漏
- google-maps - 在服务器端渲染谷歌地图