【问题标题】:Get Page_not_found on Django project在 Django 项目中获取 Page_not_found
【发布时间】:2021-06-07 04:17:25
【问题描述】:

我在尝试使用 url 时得到 page_not_found:

from django.urls import path from . import views


urlpatterns = [
    path('api/v1/posts/<int:post_id>/', views.get_post, name='get_post'), ]

到我在小型 Django 项目中的视图功能:

from django.http import JsonResponse
from rest_framework.response import Response


def get_post(post_id):
    if request.method == 'GET':
        post = get_object_or_404(Post, id=post_id)
        serializer = PostSerializer(post)
        return JsonResponse(serializer.data)

寻求帮助)

【问题讨论】:

  • 尝试使用 api/v1/posts// 而不是 api/v1/posts/int:post_id/。注意“”

标签: python django http-status-code-404


【解决方案1】:

根据docs你应该写:

urlpatterns = [
    path('api/v1/posts/<int:post_id>/', views.get_post, name='get_post'),
]

代替:

urlpatterns = [
    path('api/v1/posts/int:post_id/', views.get_post, name='get_post'),
]

【讨论】:

  • 谢谢。但我已经像你说的那样写了。现在知道我为什么要这样复制粘贴了。
  • 在您的浏览器中,您使用的是 url(或类似的)localhost:8000/api/v1/posts/3/。而且您的数据库中有一个帖子,其中包含您在 url 中写入的 id?
猜你喜欢
  • 2015-03-13
  • 2011-10-24
  • 1970-01-01
  • 2016-11-18
  • 2019-06-06
  • 2017-02-03
  • 2016-01-09
  • 2015-12-23
  • 2018-11-06
相关资源
最近更新 更多