我正在尝试使用{%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%}标签在视图中重现此错误时,它将抛出noReverseMatch错误>
这是错误 screenshot of error
答案 0 :(得分:2)
您的语法看起来正确,并且如果slug
变量由子句([-a-zA-Z0-9_]+
)组成,则它应该可以工作。
查看slug
的内容。错误屏幕截图显示它是一个空字符串。