我是 django 的新手(学习 django 1.8)并且正在做这个教程 https://django-by-errors.readthedocs.org/en/latest/
这是模型的样子。
class Food(models.Model):
name = models.CharField(max_length=20)
def __unicode__(self):
return self.name
def get_absolute_url(self):
return reverse(viewname="food-detail", args=[self.id])
def get_list_url(self):
return reverse(viewname="food-list")
这是我的 url 模式的样子
urlpatterns = [
#url(r'^$', views.index, name='index'),
url(r'^$', views.current_datetime),
#url(r'^food/$', food_list, name='food-list'),
url(r'^food/$', FoodListView.as_view(), name='food-list'),
url(r'^food/(?P<pk>\d+)$', FoodDetailView.as_view(), name='food-detail'),
]
现在,在模板文件 (food_detail.html) 中,以下语法有效
<p><a href="{{ object.get_list_url }}">Back to food list</a></p>
但是这个语法不起作用
p><a href="{% url food-list %}">Back to food list</a></p>
它抛出错误 无法解析剩余部分:“food-list”中的“-list”
我想知道为什么会出现这个错误。请帮忙!我正在使用 Django 1.8
请您参考如下方法:
正确的语法是{% url 'food-list' %}
您需要将模板中的链接更改为:
<p><a href="{% url 'food-list' %}">Back to food list</a></p>
