小编ken*_*der的帖子

如何在django模板中引用选项列表?

我的django模型中有以下内容:

PRIORITY = (
    (1, 'Low'),
    (2, 'Normal'),
    (3, 'High'),
)
Run Code Online (Sandbox Code Playgroud)

显然,与此相关的条目是存储整数.在我的模板中,我想以人类可读的格式显示优先级.我究竟该如何做到这一点?

我的模板:

{% for x in items %}
{{ x }} (added on {{ x.create_date }})<br>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

{{ x.id }} 将是优先ID.

提前致谢.

django template-engine

4
推荐指数
1
解决办法
2525
查看次数

界面太一般了

在我正在使用的Java代码中,我们有一个接口来定义我们的数据访问对象(DAO).大多数方法都采用数据传输对象(DTO)的参数.当DAO的实现需要引用特定类型的DTO时,会出现问题.然后该方法需要做一个(对我完全不必要的DTO转换为SpecificDTO.不仅如此,但编译器不能对DAO的特定实现强制执行任何类型的类型检查,DAO的特定实现应仅作为其特定类型的参数. DTO.我的问题是:我如何以尽可能小的方式解决这个问题?

java interface

3
推荐指数
1
解决办法
367
查看次数

您将以何种方式提出一种算法来检测不同对象之间的冲突?

在开展一个真正有趣的项目时,我遇到了一些问题.

有一个2D世界,有圆球,尖角三角形和瘦线(也许还有其他野生动物).它们都是WorldCreatures的子类.他们可以进入这个世界.当他们相遇时,会发生碰撞.

我想做的是找到一种检测它们之间碰撞的方法.这就是我现在站在的地方:

  • 对我来说Ball-Ball很简单,我只是计算它们与位置的距离,并将它与它们的"尺寸"之和进行比较.
  • 球和世界边缘之间的碰撞也很简单 - 我只是检查它的距离,在笛卡尔坐标系中,它很简单.
  • 更常见的问题是 - 如何检测Line(在某些点开始和结束)或其他可能存在的对象之间的冲突?线和点之间的距离也可以很容易地计算,但我想要的是

如果Object A与Object发生冲突,可以采用某种通用方式B.现在的代码看起来有点像:

class WorldCreature:
    def detectCollision(self, otherObject):
        # do something 
        if collision:
            self.onCollision(otherObject)
            otherObject.onCollision(self)
class Ball(WorldCreature):
    # someing here
class Line(WorldCreature):
    # someing here
Run Code Online (Sandbox Code Playgroud)

现在,碰撞检测机制应该取决于哪些物体可以碰撞.效果也会如此.

我应该只保留内存中所有对象的列表,并在一步中循环遍历所有对象吗?或者,是否有更好的方法来改善此任务的性能?

python collision-detection

3
推荐指数
1
解决办法
754
查看次数

设计应用程序和编写应用程序之间的平衡时间是多少?

这个问题可能看似微不足道,但这是一个实际问题:当你在一个项目上工作时,你是否在实际开始编码之前做过任何类型的架构设计?您是否花了很多时间与客户一起获取详细的规格/用例/样机?

在编码期间,您是否更改了以前制定的架构决策?您是否使用新的规格/用例/样机回到客户手中?

我想知道,根据您的经验,所有非编码操作和编码本身之间的平衡是什么?

更新:

好吧,所以从目前为止,似乎有两种方法:

  • 尽早设计,然后坐下来编码以避免后期修复
  • 最小化设计单独部分,而不是迭代开发(敏捷方法似乎更喜欢它).

我想走哪条路取决于项目,团队和客户...我是对的吗?

project-management

3
推荐指数
1
解决办法
424
查看次数

如何在iPhone上的精确时刻播放声音?

我正在努力在iPhone上创建一个简单的节拍器.该应用程序现在所做的是运行计时器,每1/1000秒输入计时器的功能.然后它检查当前时间与启动应用程序的时间(我正在使用CACurrentMediaTime()功能).

CFTimeInterval currentTime = CACurrentMediaTime();
if (self.beatingStartTime == 0) {
    self.beatingStartTime = currentTime;
}
if ( (currentTime - self.beatingStartTime) >= self.timeIntevalBetweenTicks * self.internalTimerCounter ) {
    self.internalTimerCounter ++;
    // ...
}
Run Code Online (Sandbox Code Playgroud)

如果有一个播放音频的好时机,使用OpenAL播放它的代码会被触发.

基本就是这样.我检查了在模拟器和2个设备(iPad和越狱的iPhone 3GS)上运行时播放的声音,并且有一个问题 - 当我录制声音并在Reaper软件中查看波形时,有些声音播放时间太晚了,其中一些 - 有点太早了(即使我能理解"太晚了"的部分,我真的不知道它应该如何才能发挥它应该 - 因为应用程序每次检查秒数,它基本上不能比我指定的时间更早 - 但根据我的记录,它是.

与此同时,有一些节拍器应用程序在定时方面以"坚如磐石"着称,所以我猜有一种方法.我只是想知道我错过了什么......


编辑:将定时器调用从1/1000秒更改为例如1/100并没有帮助.

编辑2:当我从计时器切换到线程(并且我让线程在指定时间内休眠)时,我仍然会遇到奇怪的行为.节奏四处移动,虽然我可以理解一点滞后并且播放一些声音太晚,问题是它们中的一些确实发挥得太早 - 这意味着2节拍之间的时间距离应该超过应该通过的时间.

差异大约是3%,相当于大约10-15毫秒,这对我来说非常重要.任何人都知道为什么声音可以更早播放?我在iPhone模拟器和iPad实际设备上都尝试过这种方法,而我唯一的猜测是计时器出现了问题 - CACurrentMediaTime()它应该返回更多的秒数.它甚至可能吗?

iphone cocoa timing

3
推荐指数
1
解决办法
683
查看次数

pygame函数似乎被忽略了

我正在构建一个相对简单的程序来测试碰撞检测,目前一切正常,除了一件事,我试图使背景颜色随机变化,唯一的问题是它似乎完全跳过了函数做这个;

import pygame
from pygame.locals import *
import random, math, time, sys
pygame.init()

Surface = pygame.display.set_mode((800,600))

backgroundr = int(random.random()*255)+1
backgroundg = int(random.random()*255)+1
backgroundb = int(random.random()*255)+1

Circles = []
class Circle:
    def __init__(self):
        self.radius = int(random.random()*50) + 1
        self.x = random.randint(self.radius, 800-self.radius)
        self.y = random.randint(self.radius, 600-self.radius)
        self.speedx = 0.5*(random.random()+1.0)
        self.speedy = 0.5*(random.random()+1.0)
        self.r = int(random.random()*255)+1
        self.g = int(random.random()*255)+1
        self.b = int(random.random()*255)+1
##        self.mass = math.sqrt(self.radius)

for x in range(int(random.random()*30) + 1):
    Circles.append(Circle())

def CircleCollide(C1,C2):
    C1Speed = math.sqrt((C1.speedx**2)+(C1.speedy**2))
    XDiff = -(C1.x-C2.x)
    YDiff …
Run Code Online (Sandbox Code Playgroud)

python pygame function

2
推荐指数
1
解决办法
500
查看次数

Django对象改变模型字段

这不起作用:

>>> pa = Person.objects.all()
>>> pa[2].nickname
u'arst'
>>> pa[2].nickname = 'something else'
>>> pa[2].save()
>>> pa[2].nickname  
u'arst'
Run Code Online (Sandbox Code Playgroud)

但是,如果你服用,它就有效

   p = Person.objects.get(pk=2)
Run Code Online (Sandbox Code Playgroud)

并改变缺口.

为什么这样.

python django django-models

2
推荐指数
2
解决办法
4798
查看次数

如何在Flot图中显示包含数据点数据的弹出窗口?

我得到了Flot创建的图表.我想要实现的是当用户将鼠标移动到它上面时获取某种信息 - 最好是在某种javascript弹出窗口中显示数据(来自x和y轴).

这可能是一个微不足道的问题,但我无法弄明白......

现在我的javascript看起来像这样:

<script  id="source" language="javascript" type="text/javascript">
$(function () {
    var data = [[1251756000000, 122.68],[1251842400000, 122.68],[1251928800000, 125.13],[1252015200000, 112.62],[1252101600000, 122.76]]
    $.plot($("#graph_placeholder"), [ data ], { 
        xaxis: { mode: "time", minTickSize: [1, "day"], timeformat : "%y/%m/%d", },
        lines: { show: true },
        points: { show: false },
    } );
});
</script>
Run Code Online (Sandbox Code Playgroud)

所以最好是x: 1251756000000 y: 122.68在徘徊点时(x:1251756000000,y:any).或者甚至将x值格式化为timeformat(2009/11/14)中定义的值.

javascript jquery flot

2
推荐指数
1
解决办法
3301
查看次数

Postgresql - 如何禁止在某些字符串字段中使用空格

我想禁止在某些text/varchar字段中使用空格.

更重要的是,最好只有一组允许在那里使用的字符,例如:

[a-zA-Z0-9_\-]
Run Code Online (Sandbox Code Playgroud)

我想把它作为一个规则,作为其表VARCHAR中成员的所有字段primary key.

这应该在数据库级别完成,并且在尝试插入错误记录时可能会抛出异常,或者在将键字段更改为无效值时更新一个错误.

这可以在数据库级别内完成吗?我应该使用Pl/Perl它,还是有更简单的方法?

database postgresql plperl

2
推荐指数
1
解决办法
631
查看次数

在 Django admin 中显示属性 - 翻译它们的名称

在我的 Django 应用程序中,我的模型将一些值设置为属性 - 它们是根据其他值(例如其他对象字段的最小值等)根据需要计算的。这非常有效,因为我不需要将它们存储在数据库中,并且计算可能会很昂贵,因此它们被缓存。

所以我有一个模型:

class A(models.Model):
    name = models.TextField(_('Name'))

    def max_of_some_values(self):
        # calculate it here, with caching,etc
        return 1
    max_value = property(max_of_some_values)
Run Code Online (Sandbox Code Playgroud)

当我在管理应用程序中显示此内容时,在对象列表上,该name列将使用其翻译来显示。所以波兰语是Nazwa,英语是Name,等等。

同时,我找不到为我的财产添加翻译的“列”名称的方法。

以前有人处理过这个吗?

django django-models django-admin

2
推荐指数
1
解决办法
1757
查看次数