1

以下是相关观点:

class board_lv(generic.ListView):
    template_name = 'boardList.html'    
    context_object_name = 'notice_List'
    def get_queryset(self):
        self.Board = get_object_or_404(Board, name=self.args[0])
        if self.args[0] == 'all':           
            return Notice.objects.order_by('-posted_on')
        else:
            return Notice.objects.filter(board=self.Board)

    def get_context_data(self, **kwargs):
        context = super(board_lv, self).get_context_data(**kwargs)  
        context['c_board'] = self.Board;

这是html模板:

<h1>/b/ {{c_board}}</h1>
<ul>
{% for n in notice_list %}
    <li>
    {% if not n.isText %} 
        <h2><a href="{{ n.content }}">{{ n.title }}</a></h2>(/b/{{n.board}})<br>    
    {% else %}
        <h2><a href= "{% url 'detail' n.id %}">{{ n.title }}</a></h2>(/b/{{n.board}})
        <p>{{ n.content|slice:":100" }}</p>     
    {% endif %}
        <a href="{% url 'detail' n.id %}">Comments</a>{{n.thumbs_up}}   
    </li>
{% endfor %}
</ul>

当我导航到调用此视图的板 url 时,显示的只是左上角的第一个“/b/”。我猜上下文存在问题,但我无法解决。

任何帮助将不胜感激。

4

1 回答 1

0

您实际上应该从您的 get_context_data ! 所以像这样改变它

def get_context_data(self, **kwargs):
        context = super(board_lv, self).get_context_data(**kwargs)  
        上下文['c_board'] = self.Board;
        返回上下文

于 2013-08-24T16:29:16.363 回答