我最近 4 天在学习 Django 框架。 今天我试图通过使用
在 HTML 模板中检索 URL{% url "music:fav" %}
我在 music/urls.py 中将命名空间设置为
app_name= "music"
我还有一个名为 fav() 的函数。 这是代码:
音乐/urls.py
from django.urls import path
from . import views
app_name = 'music'
urlpatterns = [
path("", views.index, name="index"),
path("<album_id>/", views.detail, name="detail"),
path("<album_id>/fav/", views.fav, name="fav"),
]
音乐/views.py
def fav(request):
song = Song.objects.get(id=1)
song.is_favorite = True
return render(request, "detail.html")
详细.html我用过
{% url 'music:fav' %}
但我不知道为什么会显示此错误:
NoReverseMatch at /music/1/ Reverse for 'detail' with no arguments not found. 1 pattern(s) tried: ['music\/(?P[^/]+)\/$']
最佳答案
path("<album_id>/fav/", views.fav, name="fav"),
此 URL 需要 album_id。像这样:
{% url 'music:fav' 1 %}
{% url 'music:fav' album.id %}
关于python - Django - 获取错误 "Reverse for ' 详细信息',没有找到任何参数。尝试了 1 种模式 :"when using {% url "音乐 :fav"%},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47944443/