shi*_*iva 6 django django-templates django-models django-views
Models.py:
class Discussion(models.Model):
version = models.TextField(blank=True)
team = models.TextField(blank=True)
project = models.TextField(blank=True)
notes = models.TextField(db_column='Notes', blank=True) # Field name made lowercase.
s = models.TextField(blank=True)
send_mail_to = models.TextField(blank=True)
send_mail_cc = models.TextField(blank=True)
date = models.DateTimeField(null=True, blank=True)
class Meta:
db_table = u'discussion'
Run Code Online (Sandbox Code Playgroud)
views.py:
p=Discussion.objects.filter(version=m2)
return render_to_response('report/t2',{"p":p})
Run Code Online (Sandbox Code Playgroud)
模板(HTML):
<tr>
<td width="20%" class="scratchblackfont12">Release Name :</td>
<td><div style="overflow:auto"><input name="Release Name (if any ):" autocomplete="on" type="text" class="scratchsearchfield" elname="defaultFocus" id="r1" value="{{p.version}}" READONLY multiline="true" ></div>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
但是模板显示Nothing.请帮我解决这个问题.我想从模板中的模型对象中获取模型字段值.
那是因为p
您发送到视图的是QuerySet,而不是对象实例.请尝试以下方法:
{% for p_object in p %}
<tr>
<td width="20%" class="scratchblackfont12">Release Name :</td>
<td><div style="overflow:auto"><input name="Release Name (if any ):" autocomplete="on" type="text" class="scratchsearchfield" elname="defaultFocus" id="r1" value="{{p_object.version}}" READONLY multiline="true" ></div>
</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
如果您想发送特定的p
对象实例,则必须在视图中执行以下操作:
p = Discussion.objects.get(version=m2)
Run Code Online (Sandbox Code Playgroud)
但请注意,get
如果查询返回多个版本= m2的对象,则会抛出错误.