2012-06-05 81 views
0

我遵循了一個製作博客引擎的教程並將其成功整合。這只是這個模板不工作,我不知道爲什麼。可能是什麼問題?Django模板無法正常工作 - 無法呈現{{}}

這裏是模板:

{% 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 }}"> 
&laquo;&nbsp;Previous Post:&nbsp;&nbsp;{{ previous_post.title }} 
</a>{% endif %} 

{% if previous_post and next_post %}&nbsp;|&nbsp;{% endif %} 

{% if next_post %} 
<a href="{{ next_post.get_absolute_url }}" title="{{ next_post.get_absolute_url }}"> 
Next Post:&nbsp;&nbsp;{{ next_post.title }}&nbsp;&raquo; 
</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, 
                   },) 
+1

你檢查了調試器,正確的變量傳遞給模板?什麼變量被渲染,哪些不變? – dbf

+1

隨着所有這些「除外」,你正在捕捉(並隱藏)可能發生的任何可能的錯誤。把它們拿出來,你就可以弄清楚什麼是錯誤的。 –

+0

使用'except'來捕獲所有錯誤通常不是一個好主意。確切地指定你正在尋找的是'ValidationError'。 – dm03514

回答

0

好了,所以我發現了,解決我的問題。只是想在這裏發佈,所以有人可以使用它。 這實際上是一個n00b錯誤。

所以{{}}沒有呈現,因爲我沒有在「sl」中作爲參數調用該函數。 它是空的,因爲我正在關注教程,教程沒有解釋關於Django的一個非常重要的事情,那就是可以將命名組添加爲函數中的參數,並且我沒有名爲「sl」的命名組我的urlconf在適當的地方。所以加入這個:

(r'^([0-9]{4}/\d{1,2})/(?P<sl>.*)/$', detail), 

在urlconf中問題解決了。

感謝您的所有指導。