2013-07-13 38 views
0

在屏幕出現時我有這個在url.py原始模板在Django的

from django.conf.urls.defaults import patterns, include, url 
from django.views.generic import ListView 
from blog.models import Post 

urlpatterns = patterns('', 
    url(r'', 
     ListView.as_view(
      queryset=Post.objects.all().order_by('-created')[:2], 
      template_name='blog.html' 
      ) 
     ), 
) 

,這在模板/ blog.html

(% extends "base.html" %) 

(% block content %) 

(% for post in object_list %) 

<h1>{{ post.title }}</h1> 
<div class="post_meta"> 
    on {{post.created}} 
</div> 
<div class="post_body"> 
    {{post.body|safe|linebreaks}} 
</div> 
<div class="tags"> 
    {% for tag in post.tags.all %} 
     <a href="blog/tag/{{tag}}">{{tag}}</a> 
     {% if not forloop.last %}, {% endif %} 
    {% endfor %} 
</div> 

(% endfor %) 
(% endblock %) 

因此,作爲教程現在說的時候我將親臨現場rounte它應該包含的博客2,但是,當我去那裏,我就說明我在瀏覽器中:

(% extends "base.html" %) (% block content %) (% for post in object_list %) 
on 
(% endfor %) (% endblock %) 

回答

3

是問題是,在模板上,您必須使用{}而不是()代表模板代碼,{{}}代表變量

{% extends "base.html" %} 

{% block content %} 

{% for post in object_list %} 

<h1>{{ post.title }}</h1> 
<div class="post_meta"> 
    on {{post.created}} 
</div> 
<div class="post_body"> 
    {{post.body|safe|linebreaks}} 
</div> 
<div class="tags"> 
    {% for tag in post.tags.all %} 
     <a href="blog/tag/{{tag}}">{{tag}}</a> 
     {% if not forloop.last %}, {% endif %} 
    {% endfor %} 
</div> 

{% endfor %} 
{% endblock %}