如何将类字段作为参数传递给类方法上的装饰器?我想做的是:
class Client(object):
def __init__(self, url):
self.url = url
@check_authorization("some_attr", self.url)
def get(self):
do_work()
Run Code Online (Sandbox Code Playgroud)
它抱怨自我不存在将self.url传递给装饰者.有没有解决的办法?
我的模型看起来像这样:
class Asset(models.Model):
serial_number = models.CharField(max_length=100, unique=True)
asset_tag = models.CharField(max_length=100, unique=True)
class WorkOrder(models.Model):
asset = models.ForeignKey(Asset)
Run Code Online (Sandbox Code Playgroud)
基本上提交工单,然后管理员将资产分配给工单.asset_tag字段是我们可以扫描的条形码.在django admin中编辑工单时,默认情况下,资产字段显示为窗口小部件.我们希望能够做的是拥有一个搜索字段,以便我们可以扫描资产标签,然后在数据库中搜索正确的资产以与工作单相关联.
我知道你可以自定义django admin外键到硬编码查询,但我无法弄清楚如何获取它所以它根据管理页面上的字段进行搜索.
MySQL的连接似乎有8小时的时间.我在Tomcat中使用Hibernate for ORM运行多个WAR.8个小时后(即过夜),当我拿起空闲连接时,管道就会断裂.
我已经通过代码进行了跟踪,并确保我提交或回滚所有事务.
这是我的hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.current_session_context_class">thread</property>
<!--property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property-->
<property name="c3p0.min_size">3</property>
<property name="c3p0.max_size">5</property>
<property name="c3p0.timeout">1800</property>
<property name="c3p0.preferredTestQuery">SELECT 1</property>
<property name="c3p0.testConnectionOnCheckout">true</property>
<property name="c3p0.idle_test_period">100</property> <!-- seconds -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="cache.use_query_cache">false</property>
<property name="cache.use_minimal_puts">false</property>
<property name="max_fetch_depth">10</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- classes removed -->
</session-factory>
Run Code Online (Sandbox Code Playgroud)
我认为固定它的参数是c3p0.idle_test_period- 它默认为0.但是,我们仍然在运行8小时后出现Broken Pipe问题.虽然谷歌有多个帖子索引,但没有一个得到满意的答案.
我有一个主要是Java的项目(使用maven作为构建工具),我们正在寻找添加一些python模块.将代码放在src/main/python中很容易,但我没有找到将maven的测试框架集成到python单元测试的好方法.是否有一个很好的方法来获得它,以便我的java单元测试和python单元测试以相同的maven目标运行?(如果python单元测试的结果将显示在站点报告中,则奖励积分).
目标:生产django网站部署的一组docker容器.
我在这个过程中挂断的是通常nginx直接提供静态文件......基于我对使用docker的良好架构的理解,你将有一个容器用于你的wsgi服务器(可能是gunicorn),一个单独的nginx容器和一个上游服务器配置指向你的gunicorn容器.nginx容器可以在多个gunicorn容器之间进行负载平衡.
但这意味着我必须在nginx容器中安装我的django应用程序的静态文件,这似乎是不好的做法,因为它的主要目标是真正的负载平衡
有三个容器更好:nginx,gunicorn和静态文件的专用静态服务器(可能是nginx或lighthttpd)?
真的有两个问题:如果我有一个字典(最初来自解析json消息),其中有一个可选数组:
dict_with = {'name':'bob','city':'san francisco','kids': {'name': 'alice'} }
dict_without = {'name':'bob','city':'san francisco' }
Run Code Online (Sandbox Code Playgroud)
我通常会有以下代码:
if 'kids' in dict:
for k in dict['kids']:
#do stuff
Run Code Online (Sandbox Code Playgroud)
我的第一个问题是有没有任何python方法来组合if保护和for循环?
第二个问题是我的直觉告诉我原始json消息的更好设计是始终指定kids元素,只需要一个空字典:
dict_better = {'name':'bob','city':'san francisco','kids': {} }
Run Code Online (Sandbox Code Playgroud)
我找不到任何可以证实这一点的设计方法.json消息是来自支持json和xml表示的Web服务的状态消息.由于它们以xml开头,因此它们使得"kids"元素是可选的,这迫使上面的构造在迭代数组之前检查元素是否存在.我想知道在设计方面是否更好地说元素是必需的(如果没有元素,只需要一个空数组).
使用d3js join模型,是否可以根据数据内容做条件渲染?
我想做这样的事情:
var nodes = svg.selectAll('.node').data(nodes);
var node = nodes.enter().insert('svg:g').attr('class', 'node');
// if node.hasDuration {
node.insert('svg:rect');
//} else {
node.insert('svg:circle');
//}
nodes.exit().remove();
Run Code Online (Sandbox Code Playgroud)
似乎没有办法使用连接模型(进入/退出)来进行条件渲染。我可以用 selection.each() 蛮力它,但这似乎违背了选择模型的目的。
python ×3
django ×2
c3p0 ×1
d3.js ×1
django-admin ×1
docker ×1
hibernate ×1
javascript ×1
json ×1
maven ×1
mysql ×1
nginx ×1
tomcat ×1
unit-testing ×1