小编T. *_*one的帖子

将一个查询集渲染为2个div列(django模板)

有没有一种方法将查询集的枚举呈现为两div列?

使用960网格,我有一些效果......

<div class="container_16">
    <div class="grid_8 alpha"></div>
    <div class="grid_8 omega"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

在Django中,一个模型需要在两个列中呈现它的枚举内容,并且最好在某种程度上相同.目前,我有一些丑陋的代码,在视图中将QuerySet分成两半,然后每一半都在各自的列中呈现.

必须有更好的方法来做到这一点,最好只使用模板渲染系统?

仅供参考,目前它的"工作原理"如下:

views.py

@render_to('template.html')
def main_athletics_page(request, *args, **kwargs):    
    sports = Sport.objects.all()
    half = sports.count() / 2
    return { 'sports_1' : sports[0:half], 'sports_2' : sports[half:] }
Run Code Online (Sandbox Code Playgroud)

template.html

<div class="grid_8 alpha">
    {% for sport in sports_1 %}
        <!-- Blah blah -->
    {% endfor %}
</div>

<div class="grid_8 omega">
    {% for sport in sports_2 %}
        <!-- Blah blah -->
    {% endfor %}
</div>
Run Code Online (Sandbox Code Playgroud)

django django-templates 960.gs

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

创建Django作出反应的自定义异常

对于我的网站,我创建了一个抽象模型,它实现了模型级读取权限.系统的该部分已完成并正常运行.许可模型公开的方法之一是is_safe(user)可以手动测试是否允许用户查看该模型.

我想要做的是添加一个方法continue_if_safe,可以在任何模型实例上调用其效果,而不是返回一个布尔值,就像is_safe它首先测试是否可以查看模型,然后在False的情况下,它会将用户重定向到登录页面(如果他们尚未登录)或者如果他们已登录则返回403错误.

理想用途:

model = get_object_or_404(Model, slug=slug)
model.continue_if_safe(request.user)
# ... remainder of code to be run if it's safe down here ...
Run Code Online (Sandbox Code Playgroud)

我偷看了get_object_or_404是如何工作的,它抛出了一个Http404似乎有意义的错误.但是,问题是似乎没有等效的重定向或403错误.最好的方法是什么?

(非工作)continue_if_safe方法:

def continue_if_safe(self, user):

    if not self.is_safe(user):
        if user.is_authenticated():
            raise HttpResponseForbidden()
        else:
            raise HttpResponseRedirect('/account/')

    return
Run Code Online (Sandbox Code Playgroud)

编辑 - 解决方案

最终解决方案的代码,以防其他"堆栈器"需要一些帮助:

在抽象模型中:

def continue_if_safe(self, user):
    if not self.is_safe(user):
        raise PermissionDenied()
    return
Run Code Online (Sandbox Code Playgroud)

中间件捕获视图:

class PermissionDeniedToLoginMiddleware(object):
    def process_exception(self, request, exception):
        if type(exception) == PermissionDenied:
            if not request.user.is_authenticated():
                return HttpResponseRedirect('/account/?next=' + request.path)
        return None …
Run Code Online (Sandbox Code Playgroud)

django

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

javascript中的正则表达式每次都以相同的输入失败

一个简单的测试脚本:

<script type="text/javascript">
    var reg = new RegExp('#([a-f0-9]{3})$', 'gi');
    for (var i = 0; i < 10; i++) {
        console.log(reg.exec('#fff'));
    }
</script>
Run Code Online (Sandbox Code Playgroud)

控制台输出:

["#fff", "fff"]
null
["#fff", "fff"]
null
["#fff", "fff"]
null
["#fff", "fff"]
null
["#fff", "fff"]
null
Run Code Online (Sandbox Code Playgroud)

当输入保持不变时,为什么其他每个结果都为null?

javascript regex

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

是否有可能出现文本溢出:没有空格的省略号:nowrap?

这似乎text-overflow: ellipsis取决于white-space: nowrap.这个问题是它将文本限制为一行.但是,如果我需要有4行,并且在溢出的情况下最后一行的省略号怎么办?

它目前在做什么......

Lorem ipsum dolor sit amet ...
Run Code Online (Sandbox Code Playgroud)

我想要的是...

Lorem ipsum dolor sit amet, 
consectetur adipisicing el-
it, sed do eiusmod tempor  
incididunt ut labore et ...
Run Code Online (Sandbox Code Playgroud)

css typography css3

14
推荐指数
1
解决办法
4265
查看次数

在Akka演员中积累状态的正确模式

题:

在Akka演员中积累状态的正确模式是什么?

语境:

假设我有一些服务都返回数据.

class ServiceA extends Actor {
  def receive = {
    case _ => sender ! AResponse(100)
  }
}

class ServiceB extends Actor {
   def receive = {
     case _ => sender ! BResponse("n")
   }
}

// ...
Run Code Online (Sandbox Code Playgroud)

我希望有一个控制/监督演员协调所有这些服务的谈话并跟踪他们的响应,然后将所有数据的响应发送回原始发件人.

class Supervisor extends Actor {
  def receive = {
    case "begin" => begin
    case AResponse(id) => ???
    case BResponse(letter) => ???
  }

 // end goal:
 def gotEverything(id: Int, letter: String) =
   originalSender ! (id, letter)

  def begin = { …
Run Code Online (Sandbox Code Playgroud)

scala akka

10
推荐指数
1
解决办法
5903
查看次数

每日构建的方式是一个Web应用程序?

乔尔似乎高度重视每日构建.对于传统的编译应用程序,我当然可以看到他的理由,但这与Web开发并行 - 或者不是这样?

关于我要求的项目 - 有两个开发人员在使用Django(Python)Web应用程序.我们有1个svn存储库.每个开发人员都维护一个结账和他们自己在本地运行的MySQL副本(如果你不熟悉Django,它与它自己的测试服务器捆绑在一起,就像ASP应用程序可以在Visual Studio中运行一样).开发和测试在本地完成,然后提交回存储库.网站的实际工作副本是SVN结账(我知道SVN导出,需要太长时间).我们最接近'build'的是批处理文件,它在工作副本上运行SVN更新,执行django位('manage.py syncdb'),更新搜索引擎缓存(solr),然后重新启动apache.

我想我没看到的是与网络应用程序并行.

您是否使用"夜间构建"进行源控制的Web应用程序 - 如果是这样,它看起来像什么?

django version-control unit-testing nightly-build

9
推荐指数
1
解决办法
692
查看次数

Hg Pull vs. Update to branch tip

使用TortoiseHg同步,单击"拉"拉下第二个最新版本.

在Synchronize界面的底部是一个按钮,"更新到分支提示".单击此按钮可以下拉最新版本.

这里发生了什么?

mercurial tortoisehg

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

理解Scala for For循环的范围(理解)

Scala编程的第3章中,作者给出了for循环/ for comprehension的两个例子,但是在using()和{}之间切换.为什么会出现这种情况,因为这些本身看起来像是在做同样的事情?breed <- dogBreeds在示例#2的第二行是否有原因?

// #1 ()'s
for (breed <- dogBreeds
  if breed.contains("Terrier");
  if !breed.startsWith("Yorkshire")
) println(breed)

// #2 {}'s
for {
  breed <- dogBreeds
  upcasedBreed = breed.toUpperCase()
} println(upcasedBreed)
Run Code Online (Sandbox Code Playgroud)

scala for-comprehension

9
推荐指数
1
解决办法
1440
查看次数

如何在MongoDB中设置子子数组项

我正在开发一个webapp,它有一个portal-ish组件(想想多个面板,可以在列到列之间添加药物并添加或删除).我正在使用MongoDB以这样的格式存储此信息...

{
    _id: ObjectId(...),
    title: 'My Layout',
    columns: [
        {
            order: 1,
            width: 30,
            panels: [
                { title: 'Panel Title', top: 100, content: '...' },
                { title: 'Panel Title', top: 250, content: '...' },
            ]
        },
        {
            ... multiple columns ...
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用update()进行原子/修饰符操作,这让人感到困惑.如果我只想更新特定面板的一个属性,我该如何引用它?

update(
    { _id: ObjectId(...) },
    { $set: { columns.[???].panels.[???].top: 500 }
)
Run Code Online (Sandbox Code Playgroud)

mongodb

8
推荐指数
1
解决办法
1万
查看次数

Perl的流行当代用途是什么?

Perl的流行当代用途是什么?

编辑

我应该更具体一点.我想知道更多关于大规模(流行)的人使用Perl的,而不是什么东西可以被用于在个人层面.

perl popularity

7
推荐指数
9
解决办法
1878
查看次数