小编Oli*_*Oli的帖子

Django:按日期分组(日,月,年)

我有一个像这样的简单模型:

class Order(models.Model):
    created = model.DateTimeField(auto_now_add=True)
    total = models.IntegerField() # monetary value
Run Code Online (Sandbox Code Playgroud)

我想逐个输出:

  • 一个月有多少销售额(COUNT)
  • 合并值(SUM)

我不确定攻击它的最佳方法是什么.我已经看到了一些相当可怕的额外选择查询,但我简单的想法告诉我,我可能会更好的只是迭代数字,从任意的开始年/月开始计算直到我到达当前月份,抛弃简单查询过滤该月份.更多数据库工作 - 减少开发人员的压

什么对你最有意义?有没有一种很好的方法可以撤回快速的数据表?或者我的脏方法可能是最好的主意?

我正在使用Django 1.3.不确定他们最近是否添加了更好的方式GROUP_BY.

django django-aggregation

78
推荐指数
3
解决办法
4万
查看次数

每个型号多个图像

我正在Django写一个简单的房地产列表应用程序.每个属性需要具有可变数量的图像.图像需要具有可编辑的顺序.我需要让管理员用户证明.

那说,我的选择是什么?

  1. 是否有我不知道的ImageList字段?

  2. 有这样的应用程序django.contrib.comments对我有用吗?

  3. 如果我必须自己编写,我将如何使管理员方面体面?我想象的东西比ImageField提供的东西要漂亮得多,还有一些重新排序的拖延.但是我在编写管理页面时非常熟悉=(

django django-models

68
推荐指数
2
解决办法
3万
查看次数

删除与模式匹配的多个文件

我使用Python和Django创建了一个在线画廊.我刚开始添加编辑功能,从旋转开始.我使用sorl.thumbnail按需自动生成缩略图.

当我编辑原始文件时,我需要清理所有缩略图,以便生成新的缩略图.每张图片中有三个或四个(我在不同场合有不同的图像).

可以在文件变量中进行硬编码...但是这很麻烦,如果我改变了我做事的方式,我将需要重新审视代码.

理想情况下,我想做一个正则表达式删除.在正则表达式中,我的所有原件都这样命名:

^(?P<photo_id>\d+)\.jpg$
Run Code Online (Sandbox Code Playgroud)

所以我想删除:

^(?P<photo_id>\d+)[^\d].*jpg$
Run Code Online (Sandbox Code Playgroud)

(我用photo_id我要清理的ID 替换.)

python

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

获取Python字典的子集

我有一本字典:

{'key1':1, 'key2':2, 'key3':3}
Run Code Online (Sandbox Code Playgroud)

我需要将该字典的子集传递给第三方代码.它只需要一个包含键的字典['key1', 'key2', 'key99'],如果它获得另一个键(例如'key3'),它会在一个令人讨厌的混乱中爆炸.有问题的代码是我无法控制的,所以我离开了我必须清理字典的位置.

将字典限制为一组键的最佳方法是什么?

鉴于上面的示例字典和允许的键,我想:

{'key1':1, 'key2':2}
Run Code Online (Sandbox Code Playgroud)

python dictionary

60
推荐指数
4
解决办法
4万
查看次数

告诉模板是否需要Django字段

我正在渲染表格.我想在所有必须填写的字段旁边放一个标记.通常简单的东西......但我不知道如何访问这些信息!

{% if field.required %}REQUIRED!!{% endif %}
Run Code Online (Sandbox Code Playgroud)

不会带来任何爱...

django django-templates

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

如何最好地说服人们升级IE?

我最近问了一个因措辞太强而被击落的问题.我今天要再去一次,因为这是我真正关心的事情,而且我真的希望得到聪明人的反馈和想法.

IE6并不是我存在的祸根,但它很接近.我是一名网络开发人员,花了太多时间为IE6修复问题.考虑到它的年龄和相对质量,我很震惊,所以很多人仍在使用它.

据我所知,有些公司仍将其用于传统的内部webapp支持,但我发现现在有两家公司尚未完全升级,因为XP的自动更新默认不提供它(你必须通过基于浏览器的Windows Update安装IE7/8).

所以忘记那些需要它的人,你会如何说服个人或组织升级到更新版本的IE?

警告横幅有效吗?我之前考虑过跳过做IE6修复并把"这个网站最好用......"的声明,但肯定有一个糟糕的网站让我和/或我的客户看起来很糟糕,而不是IE6.

还有一些人不需要保留IE6但无法升级,因为他们处于受控环境中.影响他们的最佳方式是让他们的管理员对问题做些什么?

注意:正如我上次所说,我不关心将这些人移动到另一个浏览器.我不介意给他们选择,但这当然不应该是Firefox/FOSS uber-alles线程.

我也不是在寻找一场斗争,只是建设性的想法,让业务类型以最小的方式了解浏览器技术.

编辑:有几个"你不能强迫它"的答案.我同意,但我觉得我可以影响它.当我看到IE6时,我会告诉别人,但我不会坐在访问我所创建的网站的每个IE6用户后面.

考虑关于卷烟的健康警告.他们不会强迫人们戒烟,但他们确实以简洁和(现在)相当野蛮的方式进行教育.毫无疑问,教育人们对吸烟者人数产生了巨大影响.

IE6比吸烟更容易上瘾,所以,推动教育理念似乎可能会影响合适的人做正确的事情.

browser internet-explorer upgrade cross-browser internet-explorer-6

44
推荐指数
9
解决办法
3391
查看次数

Django Imagefield通过ModelForm无法正常工作

我确定我做的事情显然很愚蠢,但我一直试图弄清楚几个小时,现在什么都没有跳出来.

我正在使用ModelForm,因此我可以从模型中公开一些字段进行编辑.2x ImageField,1x TextField.表单已处理且TextField正常工作.两个ImageFields不起作用,这就是我今天在这里的原因.

我正在使用Django 1.0.2

这是相关的代码(询问您是否需要更多 - 而且我不包括HTML,因为该部分似乎工作正常):

模型:

class Company(models.Model):
    #...
    logo = models.ImageField(upload_to='logos', blank=True)
    intro_pic = models.ImageField(upload_to='intropics', blank=True)
    intro_text = models.TextField(blank=True)
Run Code Online (Sandbox Code Playgroud)

查看和形式:

def admin_edit(request, company_slug):
    company = get_object_or_404(Company, slug = company_slug)

    f = AdminEditForm(instance = company)
    if request.method == 'POST':
        f = AdminEditForm(request.POST, instance = company)
        if f.is_valid():
            print "Processing form"
            print f.cleaned_data['intro_pic']
            f.save()

    return render_to_response('uadmin/edit.html', {'company':company, 'f':f}, RequestContext(request))


class AdminEditForm(ModelForm):
    class Meta:
        model = Company
        fields = ['logo', 'intro_pic', 'intro_text']
Run Code Online (Sandbox Code Playgroud)

django django-models django-forms

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

从模板中获取Django表单小部件的类型

我正在遍历表单的字段,对于某些字段,我想要稍微不同的布局,需要更改HTML.

要准确地做到这一点,我只需要知道小部件类型.它的类名或类似的东西.在标准的python中,这很容易!field.field.widget.__class__.__name__

不幸的是,您不允许访问模板中的下划线变量.大!

可以测试,field.field.widget.input_type但这仅适用于文本/密码<input ../>类型.我需要更多的解决方案.

对我而言,无论它看起来多么困难,最适合在模板级别执行此操作.我已经将处理字段HTML的代码外包给了一个单独的模板,该模板包含在字段循环中.这意味着它在ModelForms和标准Forms 之间是一致的(如果我写了一个中间的Form类,这是不正确的).

如果您能看到一种不需要我编辑20多种形式的通用方法,请告诉我!

django django-templates django-forms

42
推荐指数
4
解决办法
2万
查看次数

使用Python开始使用安全的AWS CloudFront流媒体

我创建了一个S3存储桶,上传了一个视频,在CloudFront中创建了一个流媒体分发.使用静态HTML播放器测试它,它的工作原理.我已通过帐户设置创建了密钥对.我目前在桌面上有私钥文件.那就是我.

我的目标是达到我的Django/Python网站创建安全URL的程度,除非他们来自我的某个页面,否则人们无法访问这些视频.问题是我对亚马逊铺设的方式过敏,而且我变得越来越困惑.

我意识到这不会是StackOverflow上最好的问题,但我确信我不能成为这里唯一无法解决如何设置安全的CloudFront/S3情况的傻瓜.我真的很感激你的帮助,我愿意(一旦两天过去)给予最好的答案500pt赏金.

我有几个问题,一旦回答,应该适合我如何完成我所追求的一个解释:

  • 在文档中(下一点有一个例子),有很多XML可以告诉我,我需要把POST东西带到各个地方.这样做是否有在线控制台?或者我真的必须通过cURL(等)来强迫这个?

  • 如何为CloudFront创建Origin Access Identity并将其绑定到我的发行版?我已经阅读了这份文件,但是,从第一点开始,我不知道如何处理它.我的密钥对如何适合这个?

  • 完成后,如何限制S3存储桶只允许人们通过该标识下载内容?如果这是另一个XML作业,而不是点击Web UI,请告诉我我应该在哪里以及如何将其纳入我的帐户.

  • 在Python中,为文件生成过期URL的最简单方法是什么.我已boto安装,但我没有看到如何从流分发中获取文件.

  • 是否有任何应用程序或脚本可能难以设置此服装?我使用Ubuntu(Linux),但如果它只是Windows,我在VM中有XP.我已经看过CloudBerry S3 Explorer Pro - 但它与在线UI一样有意义.

python amazon-s3 amazon-web-services amazon-cloudfront

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

在python中将文件对象读为字符串

我正在urllib2阅读页面.我需要在源代码上做一个快速的正则表达式并提取一些变量但是urllib2作为文件对象而不是字符串呈现.

我是python的新手,所以我很难看到我如何使用文件对象来做到这一点.有没有快速的方法将其转换为字符串?

python file urllib2

31
推荐指数
3
解决办法
5万
查看次数