我见过的最常见的解决方案是从pymongo ie导入json_util
import json
from pymongo import json_util
results = connection.get_collection('papayas_papaya')
results = results.find({
'identifier': '1',
})
serialized_results = [json.dumps(result, default=json_util.default, separators=(',', ':')) for result in results]
Run Code Online (Sandbox Code Playgroud)
我使用pip将pymongo安装到我的Flask virtualenv中,即:
pip install pymongo
Run Code Online (Sandbox Code Playgroud)
运行上面的代码时,我不断收到以下错误:
ImportError: cannot import name json_util
Run Code Online (Sandbox Code Playgroud)
我可以在pymongo-2.3-py2.6.egg-info/installed-files.txt ../bson/json_util.py中看到这一行
任何人都有任何提示可以帮我弄清楚我做错了什么?
更新:进一步了解这一点 - 我已经设法让这个工作:
import pymongo
from bson.json_util import dumps
connection = pymongo.Connection("localhost", 27017)
db = connection.mydocs
def get():
cursor = db.foo.find({"name" : "bar"})
return dumps(cursor)
Run Code Online (Sandbox Code Playgroud)
我遇到的一个问题是试图独立安装bson - pymongo带来bson并分别导入bson导致问题.
感谢@Cagex指出我正确的方向
所以,我有两个元素,一个嵌套在另一个元素中
<div id="outer">
<div id="inner">
<p>Lorem Ipsum</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
外部容器大于内部,实现模态覆盖布局.我想在外部的暴露表面上注册一个单击事件,这将导致两者都被解除,但是如果你点击内部div,我不希望发生这种情况.
我正在使用jQuery委托/ stopPropagation,并试图询问该元素以确保它是外部div,但无济于事 - 它仍然收到外部事件.我正在考虑在内部div之外的撞击区域进行手摇动,但我想知道是否有更优雅的替代方案.
编辑:
这里发布了几个好的解决方案 - 非常感谢您的反馈
我正在尝试将我的重定向(基于身份验证和其他各种状态)集中到前端控制器插件中.到目前为止,我已经尝试过:
$this->setRequest(new Zend_Controller_Request_Http('my_url'));
Run Code Online (Sandbox Code Playgroud)
在插件的各个点(即从routeStartup到dispatchLoopShutdown)还有:
$this->setResponse(new Zend_Controller_Response_Http('my_url'));
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供一些帮助,或指向我的教程方向?
只是在JS中尝试不同的继承技术,并且遇到了一些关于Crockford的Prototypal Inheritance模式的轻微不满:
function object(o) {
function F() {}
F.prototype = o;
return new F();
}
var C,
P = {
foo:'bar',
baz: function(){ alert("bang"); }
}
C = object(P);
Run Code Online (Sandbox Code Playgroud)
这一切都很好 - 除非你登录到控制台 - 对象显示为F.我已经看到了可以重新指定构造函数的经典仿真 - 是否有类似的方法来强制对象(控制台)引用?
这是一个学术问题,所以请立即退出.我已经通过Stack挖掘了与MVC框架中的URL/Controller映射相关的线程 - 特别是这一个:
到目前为止,我可以确定两种做法:
1:通过解析URL字符串进行动态映射(在'/'上展开)
2:模式匹配匹配url到包含可用路由的配置文件
我想从人们那里获得一些关于如何最好地完成这项任务的意见的反馈(或链接到其他一些主题/文章).
我想编写一个函数,将(理论上)未知的XML数据结构解析为等效的PHP数组.
这是我的示例XML:
<?xml version="1.0" encoding="UTF-8"?>
<content>
<title>Sample Text</title>
<introduction>
<paragraph>This is some rudimentary text</paragraph>
</introduction>
<description>
<paragraph>Here is some more text</paragraph>
<paragraph>Even MORE text</paragraph>
<sub_section>
<sub_para>This is a smaller, sub paragraph</sub_para>
<sub_para>This is another smaller, sub paragraph</sub_para>
</sub_section>
</description>
</content>
Run Code Online (Sandbox Code Playgroud)
我从devarticles修改了这个DOM迭代函数:
$data = 'path/to/xmldoc.xml';
$xmlDoc = new DOMDocument(); #create a DOM element
$xmlDoc->load( $data ); #load data into the element
$xmlRoot = $xmlDoc->firstChild; #establish root
function xml2array($node)
{
if ($node->hasChildNodes())
{
$subNodes = $node->childNodes;
foreach ($subNodes as $subNode)
{
#filter …Run Code Online (Sandbox Code Playgroud) 我想知道将连接变量存储为常量(因为它们无法更改)或私有属性(因为它们无法查看)是否更好.我向所有那些因我缺乏安全感而恐惧的人道歉...
我知道这个问题很疯狂 - 但我的雇主客户要求从注册过程中删除电子邮件验证(他们觉得这会妨碍注册).我想从整个编程社区获得有关注册和电子邮件验证的经验和意见以及取消此安全措施可能带来的后果的反馈.
我刚刚开始我的OOP之旅 - 我现在正在尝试推出自己的MVC - 纯粹是出于学习目的.我正在编写Apress PHP-Objects模式实践手册中的教程.我使用private __construct/__ clone技术创建了一个注册表单例对象:
class Registry
{
private static $instance;
private $values = array();
private function __construct(){}
private function __clone(){}
public static function getInstance(){
if( !isset( self::$instance ) ){
self::$instance = new Registry();
}
return self::$instance;
}
public function get( $key ) {
if ( isset( $this->values[$key] ) ) {
return $this->values[$key];
}
return null;
}
public function set( $key, $val ) {
$this->values[$key] = $val;
}
}
Run Code Online (Sandbox Code Playgroud)
我直接获得了这个对象的实例,即:
Registry::getInstance();
Run Code Online (Sandbox Code Playgroud)
但是,(遵循教程中的语法) - 如果我尝试使用' - >'方法访问公共方法 - …
我正在写一个小自制ORM(学术兴趣).我正在努力坚持TDD概念作为培训练习,作为练习的一部分,我正在编写API的文档,因为我开发了类.
举个例子 - 我正在研究经典的"getCollection"类型映射器类.我希望它能够为特定用户检索资产X的集合(比如博客文章),以及基于任意数值的数组的集合.所以 - 你可能有一个类似于其中任何一个的方法
$User = $UserMapper->load(1);
$ArticleCollection = $ArticleMapper->getCollection(range(10,20));
$ArticleCollection = $ArticleMapper->getCollection($User);
$ArticleCollection = $ArticleMapper->getCollection($User->getId());
Run Code Online (Sandbox Code Playgroud)
因此,在编写getCollection方法的文档时 - 我想在Docblock中声明@param变量.为每个参数类型设置一个唯一的方法是否更好,或者是否可以根据参数类型委托给正确的内部方法/类?