小编cof*_*der的帖子

在Django的基于类的视图中模拟函数

我正在使用Django REST Framework来处理我正在使用的API.出于几个原因,我想使用基于类的视图.但是,我对我的单元测试有点特别,我从不允许单元测试接触数据库.注意:我总是使用Carl Meyer在Pycon 2012上演示的"技巧",在那里他模拟了Cursor包装器.

cursor_wrapper = Mock()
cursor_wrapper.side_effect = RuntimeError("No touching the database!")

@patch('django.db.backends.util.CursorWrapper', cursor_wrapper)
class TestMyCode(TestCase):
Run Code Online (Sandbox Code Playgroud)

这里是链接如果你有兴趣的幻灯片.

我在其中一个视图中有一个方法来检查数据库中的某些内容.要干,它在POST和PUT之间共享.但是,我在为我的单元测试嘲笑它时遇到了问题.那是因为classmethod as_view创建了一个新的实例和类调度,并返回dispatch返回的"handler"函数.所以,我似乎无法在基于类的视图中获取共享方法来模拟它.

我可以模拟基于类的视图使用的模型,但是我必须基本上打破我的"DRY"目标,并在POST和PUT中复制代码.我想我可以重构代码并将逻辑移到模型上.但是,我并不积极,我想这样做.

如何模拟基于类的视图的共享方法以避免实际触及数据库?只是避免它们?

django unit-testing django-models python-2.7 python-mock

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

CSS粘贴页脚实现之间的区别?

我发现了2个不同的CSS粘贴页脚实现:

  1. Ryan Fait粘性页脚 - http://ryanfait.com/sticky-footer/

  2. Steve Hatcher粘性页脚 - http://www.cssstickyfooter.com/

有人可以解释他们每个人的工作方式之间的区别吗?

如果还有其他已知的实施方式,您可以发表评论或编辑此问题吗?

css sticky-footer

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

什么是纯Python相当于IPython魔术函数调用%matplotlib内联?

在IPython Notebook中,我定义了一个包含对magic函数的调用的函数%matplotlib,如下所示:

def foo(x):
    %matplotlib inline
    # ... some useful stuff happens in between here
    imshow(np.asarray(img))
Run Code Online (Sandbox Code Playgroud)

我想把这个函数放到Python模块中,这样我就可以导入并调用它.

但是,要做到这一点,我需要%matplotlib inline从我的代码中删除它并用它的纯Python等效替换它.

什么是纯Python等价物?

python matplotlib ipython-notebook

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

如何添加自定义过滤器以在 cookiecutter 模板中使用?

如何添加要在 cookiecutter 使用的 jinja 模板中使用的自定义过滤器?

我尝试使用 pre_gen_project 钩子添加,它被调用,但我找不到一种方法让我的 python 函数在模板中作为 jinja 过滤器(或函数)可见。

python template-engine jinja2 cookiecutter

5
推荐指数
0
解决办法
430
查看次数

如何编写取消注释用户的.bashrc文件的特定行的Fabric脚本?

您将如何编写取消注释该行的Fabric脚本

#force_color_prompt=yes
Run Code Online (Sandbox Code Playgroud)

从登录用户的.bashrc文件?

注意:这个问题具体是关于编辑这一特定行,而不是简单地将force_color_prompt = yes附加到文件的末尾并忽略该行.

python bash fabric

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

在实例化类之前,Python类中定义的方法的正确用法是什么?

使用http://docs.python.org/tutorial/classes.html#class-objects中的这个示例:

class MyClass:
    """A simple example class"""
    i = 12345
    def f(self):
        return 'hello world'
Run Code Online (Sandbox Code Playgroud)

根据这些文档,f是一个返回函数对象的属性引用.

有没有更短的方式来说f是什么?我可以称之为类的方法(注意我怎么没说"类方法"哪个不正确)?或者在类中定义的函数?还是实例方法?

换句话说,就其与MyClass的关系而言,f的正式短手术语是什么?

python oop terminology class function

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

Django,内容安全政策指令

我正在尝试使用以下内容将font-awesome导入我的应用程序:

<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)

这将在JS控制台中返回以下错误:

拒绝加载样式表' http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css ',因为它违反了以下内容安全策略指令:"style-src'self ''不安全 - 内联'".

Django应用程序是一个djangae(Django + GoogleAppEngine)示例应用程序,我将其用作我想要的起点.https://github.com/davide-ceretti/googleappengine-djangae-blog.

导入发生在base.html中.我怎样才能解决这个问题?我认为这是一个设置,但我无法追踪它.

ps我为另一个导入得到了同样的错误:

<link href='http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
Run Code Online (Sandbox Code Playgroud)

css django google-app-engine

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

如何更改语义UI图标的颜色?

我可以用代码制作竖起大拇指的图标

<i class="thumbs up icon large"></i>

但是如何将颜色从黑色更改为灰色?我是为chrome扩展做的,我在这里添加CSS manifest.js:

"content_scripts": [
    {
        "matches": ["http://*/*", "https://*/*"],

        "css": [ "tab/layouts/style.css", "app/lib/semantic.min.css" ],
        "js": [ "common/owconstants.js", "common/OWprotocol.js", "3rdparty/jquery-1.10.2.min.js", "3rdparty/jquery.mCustomScrollbar.concat.min.js", "3rdparty/jquery-ui-1.10.3.custom.min.js", "common/common.js", "tab/sidebars.js", "tab/communication.js", "tab/syncobject.js", "tab/popup.js", "tab/authorization.js", "tab/userinfo.js", "tab/annotation.js", "tab/usercard.js", "tab/userlist.js", "tab/notifications.js", "tab/friendlist.js", "tab/injection.js", "tab/drops.js", "tab/chat.js", "tab/tracking.js", "tab/keywords.js", "tab/tabscript.js", "app/lib/semantic.min.js"]
    }
],
Run Code Online (Sandbox Code Playgroud)

css colors semantic-ui

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

如何使用AWS Lambda按名称查询dynamoDB表

我有dynamoDB表,

表名 xx

主分区键 id(数字)

主排序键 name(String)

我想查询它name.

'use strict';
const AWS = require("aws-sdk");
const dynamodb = new AWS.DynamoDB();
const docClient = new AWS.DynamoDB.DocumentClient();

exports.handler = function(event, ctx, callback) {

    var params = {
          TableName: 'xx',

            KeyConditionExpression: "#name = :name",
                 ExpressionAttributeNames:{
            "#name": "name"
        },
                     ExpressionAttributeValues: {
            ":name":event.name
        }
    };

    docClient.query(params, function(err, data){
        if(err){
            callback(err, null);
        }else{
            callback(null, data);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误称:"查询条件错过了关键架构元素:id:"如何处理?

amazon-web-services node.js amazon-dynamodb aws-lambda

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

删除特定字段中具有重复值的Django QuerySet对象

我有这个Django模型(来自Django CMS):

class Placeholder(models.Model):
    slot = models.CharField(_("slot"), max_length=50, db_index=True)
    default_width = models.PositiveSmallIntegerField(_("width"), null=True)
Run Code Online (Sandbox Code Playgroud)

我想删除带有重复'slot'值的Placeholder对象,只保留每个对象的第一个并删除其他对象.

如何编写执行此操作的查询(使用Django QuerySet API)?

django django-queryset django-cms django-shell

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

如何在 $.ajax() 的成功函数中加载 Javascript 文件?

我正在使用 jQuery 的 $.ajax() 来获取一些数据。我想在弹出对话框中包含该数据。我正在使用 Twitter Bootstrap 弹出窗口。

它不起作用;我相信问题在于弹出窗口的 JS 在数据到达之前被加载。

我该怎么做:

<script src="{{ STATIC_URL }}js/bootstrap-popover.js"></script>
Run Code Online (Sandbox Code Playgroud)

在我的 $.ajax() 成功函数中?

var request = $.ajax({
    url: requestUrl,
    dataType: "jsonp",
    success: function(data) {
       ...
    }
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery twitter-bootstrap

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

如何在此南迁移中指定强制代码?

我有一个模型:

class Thing(models.Model):
    title = models.CharField(_('Title'), max_length=255)
Run Code Online (Sandbox Code Playgroud)

我想添加这个NOT NULL字段:

slug = models.SlugField(_('Slug'), max_length=255)
Run Code Online (Sandbox Code Playgroud)

当我运行"python manage.py schemamigration things --auto"时,系统会提示我为我的一次性默认值输入Python代码.

我应该在这里输入什么来小写和迷恋现有的游戏?在运行"迁移"之前,我还有什么与迁移有关的事情吗?

python django django-south

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

我的Apache站点的配置文件中的命令'WSGIReloadMechanism'无效

我正在尝试部署一个Django项目,并使用Apache2与mod_wsgi.以下是我的Apache conf文件中的相关行:

WSGIScriptReloading On
WSGIDaemonProcess myprojectcom
WSGIReloadMechanism Process
WSGIProcessGroup myprojectcom
WSGIApplicationGroup myprojectcom
WSGIPassAuthorization On

WSGIScriptAlias / /home/myproject/myproject/deploy/deploy.wsgi
Run Code Online (Sandbox Code Playgroud)

我已经为许多其他部署使用了非常类似的conf文件,但这是我第一次收到以下错误:

/etc/apache2/sites-available$ sudo /etc/init.d/apache2 restart
Syntax error on line 8 of /etc/apache2/sites-enabled/myproject.com:
Invalid command 'WSGIReloadMechanism', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
  ...fail!
Run Code Online (Sandbox Code Playgroud)

但是,我没有看到任何语法错误.我在Ubuntu上,使用libapache2-mod-wsgi包.可能有什么不对?

python apache django ubuntu mod-wsgi

0
推荐指数
1
解决办法
4175
查看次数