我有一个名为的数据库对象manor_stats,有大约30个字段.对于大多数行,这些字段中的大多数将为null.
在我的模板中,我想循环遍历行中的所有字段,并仅打印非空字段的信息.
例如,有一个名为"name"的字段:我只想<li>Name: {{ manor_stats.name }}</li>在模板中打印那些字段不为null的对象.理想情况下,我也想自动从某个地方提取"名字:",而不是指定它.
我知道我可以{% if manor_stats.name %}用来检查每个字段是否为空,但我不想为所有字段做30次.
这是我在views.py中的内容:
manor_stats = Manors.objects.get(idx=id)
return render_to_response('place.html', { 'place' : place, 'manor_stats' : manor_stats }, context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
然后在place.html中,我希望有一些大致类似的东西(伪代码,用???表示我不知道怎么做的位):
{% if manor_stats %}
<ul>
{% for manor_stats.property??? in manor_stats %}
{% if manor_stats.property %}
<li>{{ manor_stats.property.field_name??? }} {{ manor_stats.property.value??? }}</li>
{% endif %}
{% endfor %
{% endif %}
Run Code Online (Sandbox Code Playgroud)
希望有道理......
我怎样才能从今天的日期和一个人的出生日期中找到蟒蛇的年龄?birthdate来自Django模型中的DateField.
如何鼓励/制作Latex排版文本的某些部分,使其全部出现在连续的偶数页,奇数页页面上?
通过反复试验,\nopagebreak可以哄骗这样做,但是有一个Just Works的策略吗?像samepage环境这样的东西是理想的,但是:
我在我的应用程序中使用油腔滑调,我看到有在油嘴滑舌更便利的包装对于C的remove,unlink和rmdir.但这些只能一次在单个文件或目录上工作.
据我所知,C标准和glib都不包含任何类型的递归目录遍历功能.我也没有看到任何特定方法一次删除整个目录树,如同rm -rf.
对于我正在做的事情,我并不担心任何复杂的问题,例如权限,符号链接备份树(无限递归),或任何会排除一个非常天真的实现...所以我不反对编写自己的它的功能.
但是,我很好奇这个功能是否已经存在于标准库gtk或glib(或其他一些容易重用的C库)的某个地方,我只是没有偶然发现它.谷歌搜索这个主题会产生很多错误的线索.
否则我的计划是使用这种算法:
dir_walk(char* path, void* callback(char*) {
if(is_dir(path) && has_entries(path)) {
entries = get_entries(path);
for(entry in intries) { dir_walk(entry, callback); }
}
else { callback(path) }
}
dir_walk("/home/user/trash", remove);
Run Code Online (Sandbox Code Playgroud)
显然,一旦遇到致命错误,我会构建一些错误处理等来中止进程.
有一些我从未理解过的东西.像GTA IV这样伟大的大型PC游戏如何使用50%的CPU并以60fps运行,而旋转茶壶@ 60fps的DX演示使用率高达30%?
好吧,我被卡住了,即使在关注了Google的文档并在Stackoverflow上阅读建议之后我也不知道出了什么问题.为什么我无法在网页中控制Youtube嵌入?
如果我创建一个HTML文件,其中<body>是:
<object id="o1" width="480" height="295">
<param name="movie"
value="http://www.youtube.com/v/qCTLCNmnlKU&hl=en_US&fs=1&enablejsapi=1&">
</param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed id="e1"
src="http://www.youtube.com/v/qCTLCNmnlKU&hl=en_US&fs=1&enablejsapi=1&"
type="application/x-shockwave-flash"
allowscriptaccess="always" allowfullscreen="true" width="480" height="295">
</embed>
</object>
Run Code Online (Sandbox Code Playgroud)
即使我试图这样做:
// I get an object. Yay.
document.getElementById('e1');
// This generates "...playVideo is not a function"
document.getElementById('e1').playVideo();
Run Code Online (Sandbox Code Playgroud)
救命!我究竟做错了什么?谢谢.
我正在尝试设置一个可以通过箭头键导航的菜单.我在Firefox中有这个工作片.
试图让它在IE8中工作并经过一番努力后,发现这是因为IE8不会在箭头上注册一个按键.去测试:
$(document).keypress(function (eh){
alert(eh.keyCode);
};
Run Code Online (Sandbox Code Playgroud)
在Firefox中,按任意箭头键将触发37,38,39或40的警报.
在IE8中,什么都没有.标准QWERTY键盘上的任何其他键都会注册,但不会注册箭头键.
这是我的Javascript的问题吗?浏览器设置?Windows设置?
我有以下问题:我得到一个传递的类的实例,并想知道此实例的类的名称.怎么弄这个?
Mercurial提供了一个-A, --after移动和副本选项,它们在已经发生之后记录这些操作.
如何使用Subversion实现这一目标?
我在文本中看到了这样的例子,并且不确定他们为什么这样做.假设您从数据库中获取了一堆Apple对象:
List<Apple> appleList = (List<Apple>) db.getApples()
Run Code Online (Sandbox Code Playgroud)
为什么要转换List<Apple>为一个具体的List类型(ArrayList,Vector或LinkedList)?
javascript ×2
arrow-keys ×1
c ×1
class ×1
classname ×1
date ×1
datetime ×1
direct3d ×1
django ×1
flash ×1
glib ×1
gtk ×1
instance ×1
iphone ×1
java ×1
jquery ×1
latex ×1
objective-c ×1
oop ×1
opengl ×1
page-layout ×1
performance ×1
python ×1
svn ×1
tex ×1
youtube-api ×1