簡體   English   中英

Django 3 - 無反向匹配

[英]Django 3 - NoReverseMatch

我對 Django 有點陌生,我不知道如何解決似乎是一個簡單的錯誤。 很多人在這里或多或少地問了同樣的問題,但他們的任何修復都對我有用。

所以我有 2 個應用程序,一個可以作為其他應用程序的主菜單:

主菜單 urls.py:

re_path(r'^elec/boq/', include('a0101_boq_elec_main.urls', namespace="SAMM")),

然后在該應用程序的 urls.py 中,我有這個:

app_name='BoqElecMM'
urlpatterns = [
        path('', views.boq_index.as_view(), name='boqIndex'),
        path('search/', views.SearchResultView.as_view(), name='searchResult'),
        path('<int:boq_project_id>', views.BoqProjectInfo.as_view(), name='BPInfo'),
]

但是當我嘗試在我的模板中使用它時: <a href="{% url 'BoqElecMM:BPInfo' %}"> ,我收到了這個 Django 錯誤:

NoReverseMatch at /elec/boq/ Reverse for 'BPInfo' 未找到。 'BPInfo' 不是有效的視圖 function 或模式名稱。

你們中的一些人可以告訴我,我在這里做錯了什么嗎? 先感謝您。

您需要為boq_project_id參數傳遞一個值,例如

{% url 'BoqElecMM:BPInfo' boq_project_id=42 %}

當然,您傳遞給boq_project_id的值通常是project object 的 id。 例如,如果您的模板中有一個project object,您可以編寫:

{% url 'BoqElecMM:BPInfo' boq_project_id=project.pk %}

如果你也有一個namespace=… ,那么它也應該是前綴,所以對於你視圖中的數據,它是:

{% url 'SAMM:BoqElecMM:BPInfo' boq_project_id=project.pk %}

暫無
暫無

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

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