我是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")
Run Code Online (Sandbox Code Playgroud)
这就是我的网址模式的样子
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'),
]
Run Code Online (Sandbox Code Playgroud)
现在,在模板文件(food_detail.html)中,以下语法有效
<p><a href="{{ object.get_list_url }}">Back to food list</a></p>
Run Code Online (Sandbox Code Playgroud)
但是这种语法不起作用
p><a href="{% url food-list %}">Back to food list</a></p>
Run Code Online (Sandbox Code Playgroud)
它抛出错误 无法解析剩余部分:'-list'来自'food-list'
我想知道为什么会出现这个错误.请帮忙!我正在使用django 1.8
正确的语法是 {% url 'food-list' %}
您需要将模板中的链接更改为:
<p><a href="{% url 'food-list' %}">Back to food list</a></p>