簡體   English   中英

類型錯誤:有一個意外的關鍵字參數“條目”

[英]TypeError: got an unexpected keyword argument 'entry'

我正在創建一個百科全書項目。 主頁上有一個條目列表,我希望所有條目都鏈接到它們的條目頁面。

目前,當我單擊主頁上條目的鏈接時,在這種情況下,該條目稱為 CSS,這是我得到的錯誤:

TypeError at /wiki/CSS/ 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"})
})

網址.py

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

索引.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' %} 然后主頁停止工作,我收到以下錯誤:

NoReverseMatch at /wiki/ Reverse for 'CSS' not found. “CSS”不是有效的視圖函數或模式名稱。 請求方式:GET 請求地址: http : //127.0.0.1 :8000/wiki/ Django 版本:3.1.1 異常類型:NoReverseMatch

作為您的entry函數,請entry 做:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM