Django:尝试在 Django 中使用 url 标记添加 url 时不是有效的视图函数或模式名称

Django: is not a valid view function or pattern name when trying to add a url using url tag in django

我想在我的项目中添加一个 url,它会获取视频的 ID 并将其附加到 url,就像这样 http://127.0.0.1:8000/course/learn-angular/contents/?lecture=1 <a href="?lecture={{v.serial_number}}" 而不是常规 django {% url '?lecture={{v.serial_number}}' %}.

当我这样做时 <a href="{% url '?lecture={{v.serial_number}}' %}"> 那就是我收到此错误的时候 Reverse for '?lecture={{v.serial_number}}' not found. '?lecture={{v.serial_number}}' is not a valid view function or pattern name..

注意:当我将 url 添加为 ?lecture={{v.serial_number}} 时,当我单击 url Page not found (404) Directory indexes are not allowed here 时显示此错误并且所有这些都在发生,我想是因为我在我的 base.html 中有这一行 <base href="{% static '/' %}">,我从那里扩展我所有的静态文件。

如果你问我为什么有这一行 base href="{% static '/' %}">,那是因为我的静态文件没有像往常一样加载,它一直显示 MIME 类型不受支持错误,拒绝申请 127.0.0.1:8000/assets/css/style.css 所以我能解决这个问题的唯一方法是将该行添加到我的 base.html.

回到主要问题,如何正确编写 tihs url 而不会出现此错误 Page not found (404) Directory indexes are not allowed here.

您需要为匹配 /course/learn-angular/contents/ 的 url 模式传入 url 名称,然后传入讲座 ID ?lecture=1[= 的查询参数13=]

<a href="{% url 'name_for_route' %}?lecture={{v.serial_number}}">