类型错误:'entry'出现意外的关键字参数



我正在创建一个百科全书项目。主页上有一个条目列表,我希望所有条目都链接到它们的条目页面。

目前,当我点击主页上某个条目的链接时,在这种情况下,该条目被称为CSS,这是我得到的错误:

/wiki/CSS上的TypeError/entry((获得了意外的关键字参数"entry"请求方法:GET请求URL:http://127.0.0.1:8000/wiki/CSS/

视图.py

def css(request):
return render(request, "entries/css.html", {
"css_entry": util.get_entry("css")
})
def entry(request):
return render(request, entry, "encyclopedia/index.html", {
"entry": util.get_entry({"entry"})
})

urls.py

urlpatterns = [
path("", views.index, name="index"),
path("css/", views.css, name="css"),
path("<str:entry>/", views.entry, name="entry")
]

index.html

<ul>
{% for entry in entries %}
<li><a href = "{% url 'entry' entry %}">{{ entry }}</a></li>
{% endfor %}
</ul>

令人沮丧的是,如果我进入浏览器:http://127.0.0.1:8000/wiki/CSS/它可以工作,页面加载良好,但当我点击主页上的链接时就不行了。此外,如果我删除entry参数,将其保留为{%url'entry'%},则主页将停止工作,并出现以下错误:

/wiki上的NoReverseMatch/找不到'CSS'的反向。'"CSS"不是有效的视图函数或模式名称。请求方法:GET请求URL:http://127.0.0.1:8000/wiki/Django版本:3.1.1异常类型:NoReverseMatch

作为entry函数,取entry。Do:

def entry(request, entry):
return render(request, entry, "encyclopedia/index.html", {
"entry": util.get_entry({"entry"})
})

最新更新