以下是相关观点:
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>
当我导航到调用此视图的棋盘网址时,所有显示的内容都是左上角的第一个“/ b /”。我猜测上下文存在问题,但我不能指责它。
非常感谢任何帮助。
答案 0 :(得分:0)
您实际应该从get_context_data
返回上下文!所以像这样改变它
def get_context_data(self, **kwargs): context = super(board_lv, self).get_context_data(**kwargs) context['c_board'] = self.Board; return context