不知道我做错了什么 - 我发誓它在几个小时前工作。
urls.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 %}">
views.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)
听起来 yor 对象的主键Bet
名为bet_id
。您可以考虑将{% url 'wager' bet.id %}
更改为{% url 'wager' bet.bet_id %}
吗?
urls.py:
urlpatterns = [
path('create', views.create, name='create'),
path('<int:bet_id>/', views.detail, name='detail'),
path('wager/<int:pk>', views.wager, name='wager'),
]
views.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>