Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django中使用id作为url有什么解决方案吗?_Python_Django_Django Urls - Fatal编程技术网

Python 在django中使用id作为url有什么解决方案吗?

Python 在django中使用id作为url有什么解决方案吗?,python,django,django-urls,Python,Django,Django Urls,我正在做一些与博客相关的网站,希望当URL中提供了一个博客id时,它会出现。总的来说,代码看起来不错,但它总是说找不到页面。有人能帮我解决这个问题吗 我试着在互联网上搜索,但找不到任何具体的解决方案。它在未提供id时工作,但在提供id时表示找不到页面 博客的url脚本: urlpatterns = [ path('', views.allblogs, name ='allblogs'), path('<int:blog_id>/',views.details, nam

我正在做一些与博客相关的网站,希望当URL中提供了一个博客id时,它会出现。总的来说,代码看起来不错,但它总是说找不到页面。有人能帮我解决这个问题吗

我试着在互联网上搜索,但找不到任何具体的解决方案。它在未提供id时工作,但在提供id时表示找不到页面

博客的url脚本:

urlpatterns = [
    path('', views.allblogs, name ='allblogs'),
    path('<int:blog_id>/',views.details, name='detail')
]
def details(request,blog_id):
    detailblog = get_object_or_404(Blog, pk = blog_id)
    return render(request, 'blog/details.html', {'blog': detailblog})
错误消息:

也许您忘记了URL中的“
/

比如:
http://mywebsite.com/14/

也许你可以选择,比如:

re_path(r'^(?P<blog_id>[0-9]+)/?$',views.details, name='detail')

试试这个“手册”代码,看看你是否可以访问你的页面。如果您阅读了“可以访问页面但找不到博客”,这意味着您的
id
不存在于您的数据库中

我建议检查您尝试使用的id,有时我们在项目中多次创建同一应用时

您使用的URL是什么?你有没有这个ID的博客?显示完整错误。未找到页面(404)请求方法:获取请求URL:Django使用Portfolio.URL中定义的URLconf尝试了以下URL模式,顺序为:admin/[name='home']blog[name='allblogs']blog/[name='detail']^media/(?P.*)$当前路径blog/1/,与这些模式均不匹配。您看到此错误是因为Django设置文件中的DEBUG=True。将其更改为False,Django将显示一个标准404页面。这就是错误和yaa,我试图检索数据库中的两个简单博客。我尝试了“/”,但仍然存在相同的问题,我尝试了您的解决方案相同的结果修改了我的答案,试试这个404有什么错误
Page not found
可以访问该页面,但blog not found
Page not found 404尝试对第一条路径进行注释(因此它被忽略),并删除第二条路径的
/
def details(request,blog_id):
    try:
        detailblog = Blog.objects.get(pk=blog_id)
    except queryset.model.DoesNotExist:
        raise Http404('Could access the page but blog not found!')
    return render(request, 'blog/details.html', {'blog': detailblog})