我已经按照教程制作博客引擎并成功整合了它。只是这个模板不起作用,我不知道为什么。可能是什么问题?
以下是模板:
{% extends "base.html" %}
{% block title %}{% post.title %}{% endblock %}
{% block content %}
<h3>{{ post.title }}</h3>
<p>Posted on {{ post.published|date:"F j, Y" }}<p>
{{ post.description|safe }}
<br>
{{ post.body|safe }}
<br>
{% if previous_post %}
<a href="{{ previous_post.get_absolute_url }}" title="{{ previous_post.title }}">
« Previous Post: {{ previous_post.title }}
</a>{% endif %}
{% if previous_post and next_post %} | {% endif %}
{% if next_post %}
<a href="{{ next_post.get_absolute_url }}" title="{{ next_post.get_absolute_url }}">
Next Post: {{ next_post.title }} »
</a>
{% endif %}
{% endblock content %}
这是views.py:
def detail(request, sl):
try:
post = Post.objects.filter(slug=sl)[0]
try:
previous_post = post.get_previous_by_published()
except:
previous_post = ""
try:
next_post = post.get_next_by_published()
except:
next_post = ""
except:
next_post = ""
previous_post = ""
post = ""
return render_to_response('blog/detail.html', {'post':post,
'next_post':next_post,
'previous_post':previous_post,
},)
答案 0 :(得分:1)
好的,所以我发现并解决了我的问题。只是想在这里发布,所以有人可以使用它。 这实际上是一个n00b错误。
所以{{}}没有呈现,因为“sl”中没有任何东西我在函数中作为参数调用。 它是空的,因为我正在关注一个教程并且教程没有解释关于Django的一个非常重要的事情,那就是命名组可以作为参数添加到函数中,并且我没有名为“sl”的命名组urlconf在适当的地方。所以加上这个:
(r'^([0-9]{4}/\d{1,2})/(?P<sl>.*)/$', detail),
在urlconf中解决了问题。
感谢所有指导。