小编Ben*_*end的帖子

基于Python的Gallery Web应用程序?

我正在尝试削减我对PHP和MySQL的最后依赖.最后一个绊脚石是我前一段时间为客户设置的图片库.整个网站是围绕DjangoZine构建的,除了基于plogger的图片库.我想用Python解决方案替换plogger.要求包括:

  • 良好的管理界面与批量上传(我的客户认为FTP是某种疾病)
  • 使用模板系统(例如Jinja)
  • WSGI接口
  • 支持PostgreSQL
  • 如果它是一个Django应用程序奖励积分

我看了django-photologue,它似乎是构建一个画廊应用程序的良好基础.但它并不是一个真正的插入式应用程序,这正是我正在寻找的.

python web-applications gallery

6
推荐指数
1
解决办法
5586
查看次数

从陷入困境的python进程中获取stacktrace

我必须运行一个传统的Zope2网站,并对此有一些不满.最大的问题是,它偶尔会锁定,以100%的CPU负载运行而不再响应请求.虽然这个问题不能定期重现,但是有时会有一个包含3个动态图形的页面触发它,所以我怀疑某种竞争条件会导致无限循环或陷入忙碌状态.

问题是,我还没有找到调试这个东西的方法.Zope日志中没有任何内容,系统日志中没有任何内容.我尝试了这个问题的建议来获得一个堆栈跟踪,但唯一有效的信号是SIGKILL.

是否还有另一种可能性来确定卡住的过程究竟在哪里?

python debugging zope infinite-loop

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

用于表格的浏览器内HTML编辑器?

我正在开发一个发布科学文章的网站,不是PDF,而是HTML.作为编辑团队的输入工具,我们将TinyMCE用于普通文本以及一些用于脚注和引用的自定义插件.但我们对TinyMCEs表格控件并不满意.除了最简单的表之外的所有内容都需要很长时间才能编写.浏览器是否有专门的表格编辑工具?

html javascript editor

6
推荐指数
1
解决办法
3924
查看次数

GeoDjango和MySQL:点数不能为NULL,我应该使用其他什么"空"值?

我有这个Django模型:

from django.contrib.gis.db import models

class Event(models.Model):
    address = models.TextField()
    point = models.PointField('coordinates', null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

当我使用MySQL同步此模型时,在创建索引时会打印此错误消息:

Failed to install index for events.Event model: (1252, 'All parts of a SPATIAL index must be NOT NULL')
Run Code Online (Sandbox Code Playgroud)

所以,不能使用null=True(假设我想拥有该索引),我还有其他可能性吗?我可以将点(0,0)定义为"空",但是我必须记住我计划使用数据的所有惯例,否则很多事件将发生在非洲大西洋西部的某个地方......

还有哪些其他可能性?

mysql django geodjango

6
推荐指数
1
解决办法
1564
查看次数

令人困惑的CSS规则优先级

我有这个(简化的)标记:

<ul id="topnav">
    <li>one</li>
    <li>two</li>
    <li id="last-nav">last</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

和这些CSS规则:

#topnav li {
  list-style-type: none;
  float: left;
}

#last-nav {
    float: right;
}
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,第二条规则被第一条规则推翻.如果我将选择器更改为li#last-nav,则可以.这是为什么?

(免责声明:我只在Firefox中测试过这个)

css operator-precedence

6
推荐指数
3
解决办法
1592
查看次数

将lxml.objectify的元素转换回XML

我用它lxml.objectify来轻松解析和使用XML文件.出于审计原因,我必须将派生对象与元素的原始XML代码一起保存.

root = lxml.objectify.fromstring(self.get_xml_data())

for i, elem in enumerate(root.elements):
    # create new database entry based on elem
    elem_obj.source_code = turn_elem_into_xml(elem)
Run Code Online (Sandbox Code Playgroud)

我该怎么turn_elem_into_xml办?

python lxml

6
推荐指数
1
解决办法
2104
查看次数

如何在Django的ORM中使用注释和聚合进行GROUP BY查询

我真的不知道如何翻译GROUP BYHAVINGDjango QuerySet.annotateQuerySet.aggregate.我正在尝试将此SQL查询转换为ORM说话

SELECT EXTRACT(year FROM pub_date) as year, EXTRACT(month from pub_date) as month, COUNT(*) as article_count FROM articles_article GROUP BY year,month;
Run Code Online (Sandbox Code Playgroud)

输出这个:

[(2008.0, 10.0, 1L), # year, month, number of articles
(2009.0, 2.0, 1L),
(2009.0, 7.0, 1L),
(2008.0, 5.0, 3L),
(2008.0, 9.0, 1L),
(2008.0, 7.0, 1L),
(2009.0, 5.0, 1L),
(2008.0, 8.0, 1L),
(2009.0, 12.0, 2L),
(2009.0, 3.0, 1L),
(2007.0, 12.0, 1L),
(2008.0, 6.0, 1L),
(2009.0, 4.0, 2L),
(2008.0, 3.0, 1L)]
Run Code Online (Sandbox Code Playgroud)

我的Django模型:

class …
Run Code Online (Sandbox Code Playgroud)

python django orm group-by

5
推荐指数
1
解决办法
7516
查看次数

Django和条件聚合

我有两个模型,作者和文章:

class Author(models.Model):
    name = models.CharField('name', max_length=100)

class Article(models.Model)
    title = models.CharField('title', max_length=100)
    pubdate = models.DateTimeField('publication date')
    authors = models.ManyToManyField(Author)
Run Code Online (Sandbox Code Playgroud)

现在我想选择所有作者并用他们各自的文章计数注释它们.这与Django的聚合物是一块蛋糕.问题是,它应该只计算已发布的文章.根据Django票务跟踪器中的票11305,这还不可能.我试图使用该CountIf票证中提到的注释,但它没有引用日期时间字符串,也没有进行所需的所有连接.

那么,除了编写自定义SQL之外,最好的解决方案是什么?

python django aggregate

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

Django multidb:写入多个数据库

使用Django multidb,编写运行主/从基础结构的路由器相当容易.但是有可能编写一个写入多个数据库的路由器吗?我的用例是一组项目,都在同一个域上运行.为了节省用户在每个站点上注册/登录,我想同步contrib.authcontrib.sessions表.这是可能的Django multidb还是我应该研究数据库系统的复制功能(在我的情况下是MySQL)?

python django django-orm

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

Python:给一个与函数同名的参数是不好的风格?

请考虑以下代码:

def localize(value, localize=None):
    # do something with the localize argument
Run Code Online (Sandbox Code Playgroud)

localize变量包含是否应该遵守全局本地化设置的信息.它通过三层代码以相同的名称调用.什么是较小的邪恶,

  • 使用参数名称或函数名称覆盖函数名称
  • 尽管它们具有完全相同的含义,但在此函数中使用的名称与在其余所有代码库中使用的名称相同?

localize函数不使用递归,因此无法调用自身不是问题.

/ edit:更改函数名称是不可能的,因为它是公共API.唯一的摆动空间在参数名称中.

python coding-style

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