【发布时间】:2015-10-22 20:03:29
【问题描述】:
我正在尝试迭代模型实例。 我想得到这个: 标题1 标题2
我实际得到的 标题1 标题1 标题1 标题1 标题1 标题1
似乎是什么问题?
view.py
from django.shortcuts import get_object_or_404,
from .models import Paper
def detail(request, slug):
paper = get_object_or_404(Paper, slug=slug)
return render(request, 'papers/detail.html', {'paper': paper})
models.py
from django.db import models
from django.template.defaultfilters import slugify
class Paper(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField()
description = models.CharField(max_length=300)
def __str__(self):
return self.title
def save_in(self):
if not self.id:
self.slug = slugify(self.title)
super(test, self).save()
detail.html
{% extends "master2.html" %}
{% block h1 %}
<div id="g">
<div class="container">
<div class="row">
<h3>{{ paper.title }}</h3>
<br>
<br>
<div class="col-xs-12 "><p>{{ paper.large_description }}</p></div>
</div>
</div>
</div>
{% endblock %}
{% block title %} Detail {% endblock %}
nav.html
{% for title in paper.title %}
<a href="{% url 'detail' slug=paper.slug %}">{{ paper.title }}</a>
{% endfor %}
master2.html
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
<link href="/static/font.min.css" rel="stylesheet">
<link href="/static/bootstrap.min.css" rel="stylesheet">
<link href="/static/font-awesome.min.css "rel="stylesheet">
<link href="/static/main.css" rel="stylesheet">
</head>
<body data-spy="scroll" data-offset="0" data-target="#theMenu">
{% include "nav.html" %}
{% include "header2.html" %}
{% block h1 %}{% endblock %}
<script src="/static/jquery.js"></script>
<script src="/static/bootstrap.min.js"></script>
<script src="/static/jquery.isotope.min.js"></script>
<script src="/static/jquery.prettyPhoto.js"></script>
<script src="/static/main2.js"></script>
</body>
【问题讨论】:
-
如何迭代单个事物?您的 Paper 对象只有一个标题;你为什么期待多个标题?
-
我正在尝试按标题从我的数据库中获取 2 个元素。
-
那么你为什么只“迭代”其中一个呢?你没有道理。