所以我有一个简单的模型,我想显示我的食谱列表。所以在urls.py中我有以下网址:
urlpatterns = [
url(
regex=r'^$',
view=views.RecipeListView.as_view(),
name='list'
),
url(
regex=r'^(?P<name>[\w.@+-]+)/$',
view=views.RecipeDetailView.as_view(),
name='detail'
),
]
name只是食谱的名称,它可以是任何东西。而且在我的名单上,我有以下给予网址:
<div class="list-group">
{% for recipe in recipe_list %}
<a href="{% url 'recipes:detail' recipe.name %}" class="list-group-item">
<h4 class="list-group-item-heading">{{ recipe.name }}</h4>
</a>
{% endfor %}
</div>
所以我将名称的参数传递给详细视图,但我仍然在/ recipes /
中得到错误NoReverseMatch使用参数'(u'这是我的测试配方')'和'反转'详细' 找不到关键字参数“{}”。尝试过1种模式: [u'recipes /(P [0-9A-ZA-Z ._%+ - ] +)/ $']
我不确定我做错了什么。
答案 0 :(得分:0)
您正在传递一个名为(u'This is my test recipe',)
的元组,并且您将其作为位置参数传递,其中您的url方法需要一个关键字参数。
正确的方法是:
<a href="{% url 'recipes:detail' name=recipe.name[0] %}">