簡體   English   中英

NoReverseMatch 錯誤 - 在我的 urls.py 中一切正常,我做錯了什么

[英]NoReverseMatch Error - Everything looks ok in my urls.py what am I doing wrong

不知道我做錯了什么 - 我發誓幾個小時前它還在工作。

網址.py:

urlpatterns = [
    path('create', views.create, name='create'),
    path('<int:bet_id>/', views.detail, name='detail'),
    path('<int:bet_id>/wager/', views.wager, name='wager'),
]

這是 html 模板的鏈接:a href ="{% url 'wager' bet.id %}"

視圖.py:

def wager(request, bet_id):
    bet = get_object_or_404(Bet, pk=bet_id)
    return render (request, 'bets/wager.html', {'bet':bet})

這是錯誤(6 是這種情況下的特定 bet_id)

NoReverseMatch at /bets/6/wager/
Reverse for 'wager' with no arguments not found. 1 pattern(s) tried: ['bets/(?P<bet_id>[0-9]+)/wager/$']

在 url 配置中使用非重疊模式

path('wage_list', views.list_view, name='wage_list'),
path('wage_detail/<int:bet_id>/', views.wage_detail_view, name='wage_detail_view'),

並按如下方式調用您的列表視圖,這將帶您進入詳細信息視圖

{% for obj in wage_list %}
<a href="{% url 'wage_detail_view' bet_id=obj.id %}">
{% endfor %}

為了我,

bet = get_object_or_404(Bet, pk=bet_id)

聽起來您的Bet對象的主鍵名為bet_id 您可以考慮將{% url 'wager' bet.id %}更改為{% url 'wager' bet.bet_id %}嗎?

網址.py

urlpatterns = [
    path('create', views.create, name='create'),
    path('<int:bet_id>/', views.detail, name='detail'),
    path('wager/<int:pk>', views.wager, name='wager'),
]

視圖.py

def wager(request, bet_id):
    bet = get_object_or_404(Bet, pk=bet_id)
    return render (request, 'bets/wager.html', {'bet':bet})

賭注.html

<a href ="{% url 'wager' bet.id %}">Something</a>

暫無
暫無

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

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