Python Django模板仅访问模型中的一个值
我有各种各样的课程,其中两个课程的结构如下:Python Django模板仅访问模型中的一个值,python,django,django-models,Python,Django,Django Models,我有各种各样的课程,其中两个课程的结构如下: class SomeClass(models.Model): name = models.CharField(max_length=60, db_index = True, blank=True) value = models.CharField(max_length=60, db_index = True, blank=True) year = models.DateField(db_index = True, blank=
class SomeClass(models.Model):
name = models.CharField(max_length=60, db_index = True, blank=True)
value = models.CharField(max_length=60, db_index = True, blank=True)
year = models.DateField(db_index = True, blank=True)
tags = models.ManyToManyField(Tag, blank=True)
def __unicode__(self):
return self.name
class Meta:
ordering = ('name',)
意见如下:
def home_page(request):
classList = SomeClass.objects.values('name')
someInstance = classList[0]
return render_to_response("base.html", {"classList":classList, "someInstance":someInstance})
模板:
<!DOCTYPE html>
<html>
<head>
{% load staticfiles %}
<title> Title </title>
<link rel="stylesheet" type="text/css" href="{% static "styles/base.css" %}" />
</head>
<body>
<div id="banner">
BANNER TEXT
</div>
<div id="banner-wrapper">
</div>
<div id="sidebar">
CLASS
<ul>
{% for someClass in classList %}
<li><a href="/CLP/{{class.name}}">{{class.name}}</a></li>
{% endfor %}
</ul>
</div>
<div id="someClass">
{% block class %}
<h2> {{someInstance.name}} </h2>
<br>
<h4> {{someInstance.value}} </h4>
{% endblock class %}
</div>
</body>
{%load staticfiles%}
标题
横幅文本
阶级
{classList%中某个类的%s}
{%endfor%}
{%block class%}
{{someInstance.name}
{{someInstance.value}
{%endblock类%}
在我的模板中,我可以很容易地访问{{someInstance.name}}
,但是如果我尝试{{someInstance.value}}
或类似的方法,我就不会得到值。我已经验证了这些值是否存在,并且使用django管理页面以及shell填充了这些模型。我还能试什么
我正在使用django 1.6您只获取视图中的
名称
属性:
def home_page(request):
classList = SomeClass.objects.values('name')
------------------------------^^^^^^^^^^^^^^
这就是对象的其他属性在模板中不可用的原因
此外,您的模板-不确定是否存在复制粘贴问题:
{% for someClass in classList %}
<li><a href="/CLP/{{class.name}}">{{class.name}}</a></li>
{% endfor %}
类Meta:
应与def
处于同一级别,并且\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
def __unicode__(self):
return unicode(self.name)
您将需要显示视图和模板。我在获取模板时遇到问题,它将保持html格式。我该怎么解决?哇,真不敢相信我错过了。还是习惯了。谢谢
def __unicode__(self):
return unicode(self.name)