我正在尝试使用 {% url %} 标签返回一个类似于“edit-book/4/improved-led-lamp”的格式化网址
我尝试过{% url 'dashboard:editbook' 4 slug %}
这是根 url.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('', include('home.urls')),
path('dashboard/', include('dashboard.urls')),
path('admin/', admin.site.urls),
]
这是我的仪表板应用程序的网址,py
from django.urls import path
from . import views
app_name = 'dashboard'
urlpatterns = [
path('edit-book/<int:id>/<slug:title>', views.BookView.as_view(), name='editbook'),
]
如果我在浏览器中访问“edit-book/4/improved-led-lamp”,它会解析,但是当我尝试使用 {% url %} 标记在 View 中重现此问题时,它会抛出 noReverseMatch 错误
这是错误 screenshot of error
最佳答案
您的语法看起来正确,如果 slug
变量由 slug ([-a-zA-Z0-9_]+
) 组成,那么它应该可以工作。
查看slug
的内容。错误截图显示它是一个空字符串。
关于python - 如何格式化 url 以在模板中返回类似 "product/4/improved-led-lamp"的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55341601/