django - 访问另一个视图的 url 名称
问题描述
我在 urls.py 文件中有两个路径。当我点击一个网址时,而不是选择预期的网址,而是选择另一个,为什么?谁能帮帮我吗。
这是我的 urls.py 文件:
from . import views
from django.urls import path
app_name = 'olx'
path('<slug:category_slug>/',views.product_list, name='product_list_by_category'),
path('myPost/', views.myPost, name='my_all_post'),
在我的 html 文件中,我使用这样的锚标记:
<li class="nav-item">
<a class="nav-link" href="{% url "olx:my_all_post" %}">My Post
</a>
</li>
我尝试用单引号替换双引号,如下所示:
href="{% url 'olx:my_all_post' %}"
但它仍在选择另一条路径:
<slug:category_slug>/
但是如果我从我的 urls.py 文件中删除以下路径,那么它会选择正确的路径。
path('<slug:category_slug>/',views.product_list, name='product_list_by_category'),
解决方案
问题是您的 URL 模式定义的顺序。
'myPost'
是一个有效的蛞蝓,所以'<slug:category_slug>/'
会匹配它。
像这样更改您的订单:
path('myPost/', views.myPost, name='my_all_post'),
path('<slug:category_slug>/',views.product_list, name='product_list_by_category'),
推荐阅读
- pandas - 删除未命名索引列的熊猫数据提取的清理输出
- css - 我在 Azure 中部署的 Angular 10 应用程序在刷新时失去了样式
- powershell - 用户在 powershell 命令行中键入命令时是否可以检测箭头键?
- ruby-on-rails - 如何将 Rails ApplicationMailer 配置为使用 API(或 RestClient)而不是 smtp
- r - 使用更长的枢轴来延长多列 R
- flutter - 我可以在不实际关闭小部件的情况下使用 Dismissible 吗?
- tensorflow - 使用TensorFlow Object Detection Api在google colab中下载预训练的Efficient Det会出现一系列未知警告?
- android - Android - 应用程序的 android.app.Application 子类的 onCreate() 方法是否总是不会被调用?
- r - 如何按值拆分多列箱线图?
- unity-webgl - 游戏加载WebGL时Unity 2d屏幕变黑