django - Django错误的网址?
问题描述
我有两个网址。一个用于博客,另一个用于游戏。我有游戏和博客的应用程序。
path('',include('games.urls')),
path('blog',include('blogs.urls')),
我的游戏应用网址是这样的:
path('<slug:platform>/<slug:slug>',views.oyun,name='detail'),
我的 blogapp 网址是这样的:
path('', views.blogs, name='blog'),
path('/<slug:slug>', views.blog_id, name='blog_id'),
这个 url 是 to( path('/<slug:slug>', views.blog_id, name='blog_id')
), views.oyun 所以它给出了错误。我该如何解决这个问题?
Views.py
def blogs(request):
blogss=blog.objects.all().order_by('-created')
return render(request,"blog.html",{"blogs":blogss})
def blog_id(request,slug):
blog_id=blog.objects.get(seo_url=slug)
return render(request,"blog-writings.html",{"blog_id":blog_id})
def oyun(request,platform,slug):
oyun = Oyunlar.objects.get(slugyap=slug)
...
解决方案
该detail
路径将捕获应该触发该blog_id
路径的 URL。确实,在games.urls
我们看到:
path('<slug:platform>/<slug:slug>',views.oyun,name='detail'),
而对于blog_id
,完整的URL 路径是:
'blog/<slug:slug>'
因此,这意味着如果您访问blog/foo
,它将以变量的值和变量的值触发oyun
视图。'blog'
platform
'foo'
slug
您可以交换路径,以便它首先检查带有前缀的项目,如果不是这种情况,blog/
只会触发视图:oyun
urlpatterns = [
path('blog',include('blogs.urls')), # ← first the blog/ paths.
path('',include('games.urls')),
]
推荐阅读
- r - R - 是否可以取消嵌套包含缺失 (NA) 值的列表列?
- python - 为什么即使我有日志文件,Tensorboard 也不显示任何图表?
- swift4 - /src:错误:找不到目标的源文件:MyKituraAppTests;使用 Swift 4 清单中的“路径”属性设置自定义目标路径
- python - Cython 多线程程序崩溃
- javascript - 如何自动随机化 46 个名称以在 Google 工作表中创建 46 x 6 唯一行和列?
- html - 我的 Github 页面不会将自定义 css 文件应用到网站
- c - clang:链接器命令失败,退出代码为 1
- c# - c#剃须刀,如何使用html按钮运行方法?
- r - 你能解释一下替换函数是如何计算向量长度的吗?
- php - 如何在 php 中使用路径信息?