小编Rob*_*ith的帖子

加载localhost时Django Nonrel中的管道错误

运行Django Nonrel,使用Google App Engine 2.6.0和Python 2.7,我在尝试第一次加载localhost和localhost/admin时遇到此异常(我希望它会在任何页面上发生):

Exception happened during processing of request from ('127.0.0.1', 57011)
    Traceback (most recent call last):
      File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
        self.process_request(request, client_address)
      File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request
        self.finish_request(request, client_address)
      File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 2438, in __init__
        BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
      File "/usr/lib/python2.7/SocketServer.py", line 641, in __init__
        self.finish()
      File "/usr/lib/python2.7/SocketServer.py", line 694, in finish
        self.wfile.flush()
      File "/usr/lib/python2.7/socket.py", line 303, in flush
        self._sock.sendall(view[write_offset:write_offset+buffer_size])
    error: [Errno 32] Broken pipe …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine django-nonrel

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

注册时电子邮件验证的替代方案

我读到,用户觉得必须验证他们的电子邮件才能完成简单的注册很烦人,但是删除这个额外的步骤并使用验证码来处理机器人会导致一种不舒服的情况,即用户无法重新获得对其帐户的控制,如果他们忘记了密码。

那么,该怎么办呢?除了电子邮件确认之外,还有其他选择吗?我想,只有当用户忘记密码时,才向用户注册时输入的电子邮件地址发送验证码可能是可以接受的。据我所知,不需要电子邮件确认的缺点是用户可能冒充其他人。由于我不想收集有关用户的任何信息,因此这本身不是问题。但是,如果合法用户尝试注册该网站,则该电子邮件地址将不可用。解决方案是,此时,用户可以被告知所选的电子邮件地址已被占用,并且他可以有机会更改其密码,使用验证码重新获得对其帐户的访问权限。这种方法有问题吗?有更好可行的解决方案吗?

顺便说一句,短信或付费第三方应用程序不适合我。

提前致谢。

registration email-validation user-registration

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

Python 和 Matlab 中的 Kronecker 产品

我试图从 MATLAB 在 Python 中重现结果。但是,我似乎无法正确理解。这是正确的 MATLAB 代码:

nx = 5;
ny = 7;

x = linspace(0, 1, nx); dx = x(2) - x(1);
y = linspace(0, 1, ny); dy = y(2) - y(1);

onex = ones(nx, 1);
oney = ones(ny, 1);

Dx = spdiags([onex -2*onex onex], [-1 0 1], nx, nx);
Dy = spdiags([oney -2*oney oney], [-1 0 1], ny, ny);

Ix = eye(nx); Iy = eye(ny);
L = kron(Iy, Dx);

size(L) % 35   35
Run Code Online (Sandbox Code Playgroud)

现在,这是 Python 代码:

nx = …
Run Code Online (Sandbox Code Playgroud)

python matlab numpy scipy

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

在使用setuptools构建软件包时,我应该包含测试和.pyc文件吗?

我正在尝试pip install .在conda环境中使用本地软件包.一切都看起来没问题,除了当我运行这个命令时,默认包含.pyc文件(我猜这是由于构建过程).在MANIFEST.in中明确排除它们没有帮助.首先,这是一个问题吗?setup.py实际上非常简单.主要是,唯一相关的事情是include_package_data = True我需要包含一些静态文件.

setup.py

from setuptools import setup, find_packages
setup(
...
    include_package_data = True,
...
)
Run Code Online (Sandbox Code Playgroud)

这是MANIFEST.in

MANIFEST.in

recursive-include <my-project>/static *
global-exclude *.pyc
global-exclude .git
Run Code Online (Sandbox Code Playgroud)

另一个问题:我应该recursive-include <my-project>/test/ *在已安装的软件包中包含我的测试文件夹()吗?我有一些使用nose和其他客户端测试的测试,这些测试包含在静态文件中.在这种情况下,推荐的测试方法是什么?

谢谢

python packaging setuptools

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

Angular 2不会更新第三方库修改的输入值

我有一个简单的表单,其输入字段与指令相关联:

<form id="scrollable-dropdown-menu">
  <input class="input-field" name="value" [someDirective] type="text"  [(ngModel)]="value" #query="ngModel" />
  <button (click)="onPost(query.value)" type="submit">Search</button>
</form>
Run Code Online (Sandbox Code Playgroud)

该指令通过使用第三方库来更改输入字段.在我的特定情况下,这是一个autocomplete/typeahead Jquery插件.此插件为用户提供选项,选择选项后,它会更改输入字段的值.

但是,Angular不会更新其属性query.value,因此会将旧值传递给onPost方法.

该指令看起来像这样:

@Directive({
    selector: '[someDirective]',
})
export class MyDirective  {
     constructor(private elRef: ElementRef, private renderer: Renderer) {
         // this changes the value of the field if the user selects an option
         $('.input-field').plugin(); 
     }

}
Run Code Online (Sandbox Code Playgroud)

我被建议使用UpdateValue,但我看不到如何在指令中使用它.这导致我看看@ViewChild,但它似乎不适用于指令,虽然我可能会弄错.

我也尝试通过注入来强制更新ChangeDetectorRef,但我没有看到任何区别.这就是我做的:

my.directive.ts

import {ChangeDetectorRef} from '@angular/core';
@Directive({
    selector: '[someDirective]',
})
export class MyDirective  {
    constructor(private elRef: ElementRef, private renderer: Renderer, private detectorRef: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery angular

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

在没有表单元素的Django中使用ajax请求

我想在不使用Django中的表单元素的情况下发送一个ajax请求(通过Jquery,虽然我认为这种情况无关紧要).根据文档,我应该可以通过使用ensure_csrf_cookie装饰器来做到这一点,但是,我得到了Error was: cannot import name ensure_csrf_cookie.

我正在使用以下导入from django.views.decorators.csrf import ensure_csrf_cookie.

我没有找到大量的文档ensure_csrf_cookie,所以任何帮助将不胜感激.

顺便说一句,使用@csrf_exempt按预期工作.

提前致谢.

django ajax decorator

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

Django中信号的性能

我创建了一些post_save信号,但我想知道以后是否会出现性能问题.例如,我有这样的事情:

def my_signal(sender, **kwargs):
  # some minimal processing
  posts = len(MyPosts.objects.filter(date__gte=variable))
  if entries == "20":
    # crate an object and assign it to the post's author.


post_save.connect(my_signal, sender=MyPosts)
Run Code Online (Sandbox Code Playgroud)

假设我有一个非常繁忙的网站,每次创建帖子时都会触发.表演太糟糕了?有没有办法以更慢节奏的方式发射信号(可能是每天一次或每几次请求)?

更新:

另一个问题是:Django是否足够聪明,可以.save()post_save信号与信号复合成一个数据库请求,还是在这里做了几个请求?

谢谢!

django performance signals

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

matplotlib的histogramdd如何工作?

我发现histogramdd的输出令人困惑.例如:

h, edges = histogramdd([[1,2,1],[4,2,1]],bins=2)

h -> [[ 1.  1.]
     [ 1.  0.]]
edges -> [array([ 1. ,  1.5,  2. ]), array([ 1. ,  2.5,  4. ])]
Run Code Online (Sandbox Code Playgroud)

也许我不理解文档,但似乎建议输入应该是一个数组,其中N行表示数据点,D列表示维度(所以在这种情况下,我们处理三维中的两个数据点)我想每个数组edges代表一个不同的维度,但根据输出似乎没有意义h.

这应该怎么解释?

谢谢

python numpy histogram

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

Flask中的RESTful接口和问题序列化

我正在学习Backbone.js和Flask(和Flask-sqlalchemy).我之所以选择Flask,是因为我读到它与Backbone实现RESTful接口的效果很好.我目前正在学习使用(或多或少)此模型的课程:

class Tasks(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(80), unique=True)
    completed = db.Column(db.Boolean, unique=False, default=False)

    def __init__(self, title, completed):
        self.title = title
        self.completed = completed

    def json_dump(self):
        return dict(title=self.title, completed=self.completed)

    def __repr__(self):
        return '<Task %r>' % self.title
Run Code Online (Sandbox Code Playgroud)

我必须添加一个json_dump方法才能将JSON发送到浏览器.否则,我会得到错误object is not JSON serializable,所以我的第一个问题是:

有没有更好的方法在Flask中进行序列化?似乎某些对象是可序列化的,但其他对象不是,但一般来说,它并不像我预期的那么容易.

过了一会儿,我最终得到了以下视图来处理每种类型的请求:

@app.route('/tasks')
def tasks():
    tasks = Tasks.query.all()
    serialized = json.dumps([c.json_dump() for c in tasks])
    return serialized

@app.route('/tasks/<id>', methods=['GET'])
def get_task(id):
    tasks = Tasks.query.get(int(id))
    serialized = json.dumps(tasks.json_dump())
    return serialized …
Run Code Online (Sandbox Code Playgroud)

rest serialization json flask flask-sqlalchemy

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

快速,优雅的方式来计算经验/样本协方差

有没有人知道计算经验/样本协方差图的好方法,如果可能的话在Python中?

这是一本书的屏幕截图,其中包含对covariagram的良好定义:

在此输入图像描述

如果我理解正确,对于给定的滞后/宽度h,我应该得到所有由h(或小于h)分隔的点,将其值相乘,并为每个点计算其均值在这种情况下,定义为m(x_i).但是,根据m(x_ {i})的定义,如果我想计算m(x1),我需要获得距离x1的距离h内的值的平均值.这看起来像是一个非常密集的计算.

首先,我是否正确理解了这一点?如果是这样,假设二维空间,计算这个的好方法是什么?我试图用Python编写这个代码(使用numpy和pandas),但它需要几秒钟,我甚至不确定它是否正确,这就是为什么我不会在这里发布代码.这是一个非常天真的实现的另一种尝试:

from scipy.spatial.distance import pdist, squareform
distances = squareform(pdist(np.array(coordinates))) # coordinates is a nx2 array
z = np.array(z) # z are the values
cutoff = np.max(distances)/3.0 # somewhat arbitrary cutoff
width = cutoff/15.0
widths = np.arange(0, cutoff + width, width)
Z = []
Cov = []

for w in np.arange(len(widths)-1): # for each width
    # for each pairwise distance
    for i in np.arange(distances.shape[0]): 
        for j in np.arange(distances.shape[1]): 
            if distances[i, j] <= widths[w+1] and distances[i, …
Run Code Online (Sandbox Code Playgroud)

python numpy covariogram

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