小编cod*_*eek的帖子

flask-sqlalchemy列的最大值

假设我有一个用户模型

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)
    numLogins = db.Column(db.Integer)

    def __init__(self, username, email):
        self.username = username
        self.email = email

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

如何查询具有最大登录次数的用户的记录?

python sqlalchemy flask flask-sqlalchemy

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

归纳规范:自上而下 vs 自下而上 vs 推理规则?

请多多包涵。我将首先描述书中的一个例子,然后在最后提出我的问题。

根据编程语言范式的文本:

归纳指定是指定一组值的强大方法。为了说明这个方法,我们用它来描述 自然数 N = {0, 1, 2, ... . .} .

自上而下的定义:

一个自然数 n 在 S 中当且仅当

  1. n = 0,或
  2. ? 3 ? S。

我们知道 0 ? S. 因此 3 ? S,因为 (3 ? 3) = 0 和 0 ? S. 同样 6 ? S,因为 (6?3) = 3 和 3 ? S. 以这种方式继续,我们可以得出结论,所有 3 的倍数都在 S 中。

其他自然数呢?是 1 吗?? 我们知道 1 != 0,所以不满足第一个条件。此外,(1?3) = ?2,它不是自然数,因此不是 S 的成员。因此不满足第二个条件。

自下而上的定义:

定义集合 S 为包含在 N 中的最小集合,并满足以下两个性质:

  1. 0 ? 沙 …

theory math recursion logic induction

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

Flask-WTForms为IntegerField抛出错误而不是验证失败

当我使用wtf_forms和Flask-WTF创建表单并使用IntegerField输入时,我不能将它与Length验证器结合使用

如果我删除长度限制,那么它工作正常.当然我应该能够对IntegerField应用长度验证吗?

Python代码.

from flask_wtf import Form
from wtforms import TextField, PasswordField, IntegerField, validators

class RegistrationForm(Form):
    firstname = TextField('First Name', [validators.Required()])
    lastname = TextField('Last Name', [validators.Required()])
    telephone = IntegerField('Telephone', [validators.Length(min=10, max=10, message="Telephone should be 10 digits (no spaces)")])

TypeError
TypeError: object of type 'int' has no len()

Traceback (most recent call last)
File "C:\Python27\lib\site-packages\flask\app.py", line 1701, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Python27\lib\site-packages\flask\app.py", line 1689, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:\Python27\lib\site-packages\flask\app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File …
Run Code Online (Sandbox Code Playgroud)

python flask wtforms flask-wtforms

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

通过sqlalchemy关系通过backref属性获取父母子女会导致不必要的刷新

我有像这样的sqlalchemy关系(为简单而修剪):

class Parent(Base):
  __tablename__ = 'Parent'
  name = Column(String, nullable=False)
  def __init__(self, name)
    self.name = name

class Child(Base):
  __tablename__ = 'Child'
    name = Column(String, nullable=False)
    parent = relationship(Parent, backref=backref('children')
  def __init__(self, name, parent)
    self.name = name
    self.parent = parent
Run Code Online (Sandbox Code Playgroud)

在我的对象工作的同时:

parent = Parent("my parent")
db_session.add(parent) # must be done for other reasons not relevant to the issue.
child = Child("my child", parent)
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是在我执行以下操作之前,我得到了一个DB flush:

children = parent.children # using the backref causes a flush
Run Code Online (Sandbox Code Playgroud)

通过改变我定义backref /关系的方式可以避免这种情况吗?

python sqlite sqlalchemy

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

是否pythonic分离实现方法被覆盖?

我发现将抽象方法分成两个方法似乎很有用,一个用于公共接口,另一个用于子类重写.

通过这种方式,您可以为输入和输出添加前置条件/​​后置条件检查,从而可以抵御人为错误.

但我在这里关心的是它是否是蟒蛇可接受的,因为在我的小经验中我从来没有见过像这样的代码.

正常多态性

import abc

class Shape:
    """Abstract base class for shapes"""
    __metaclass__ = abc.ABCMeta

    @abc.abstractmethod
    def get_area(self, scale):
        """Calculates the area of the shape, scaled by a factor.
        Do not blame for a silly example.
        """
        pass

class Rectangle(Shape):
    def __init__(self, left, top, width, height):
        self.left = left
        self.top = top
        self.width = width
        self.height = height

    def get_area(self, scale):
        return scale * self.width * self.height

print(Rectangle(10, 10, 40, 40).get_area(3))

# Gosh!... gets tons of 3's
print(Rectangle(10, 10, …
Run Code Online (Sandbox Code Playgroud)

python oop polymorphism abstract-class abstract-methods

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

那么4个引号的故事是什么?

我正在使用type()运算符在python shell中进行实验.我注意到:

type('''' string '''') 
Run Code Online (Sandbox Code Playgroud)

返回错误,扫描字符串时出错

然而:

type(''''' string ''''')
Run Code Online (Sandbox Code Playgroud)

工作正常,并回应找到一个字符串.

到底是怎么回事?它是否与type('''' string '''')被解释为的事实有关type("" "" string "" ""),因此是空字符串和未定义变量的无意义串联?

python string quotes python-2.7

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

Flask - 函数映射正在覆盖现有的端点函数

我试图让烧瓶框架与Facebook合作.我正在使用flask_canvas这样做.我在文档中找到了flask_canvas的示例(在这里找到:http://flask-canvas.readthedocs.org/en/latest/ )但是我一直收到以下错误:

AssertionError: View function mapping is overwriting an existing endpoint function: inner
Run Code Online (Sandbox Code Playgroud)

如果我注释掉该方法user(),它将运行,但是当该方法未被注释掉时,我得到上述错误.

知道如何制作它所以我可以同时使用canvas()user()方法而不会被AssertionError抛出?

import flask_canvas
from flask import Flask, session, redirect
app = Flask(__name__)
flask_canvas.install(app)

HOST = 'localhost'
PORT = 8000

@app.route('/')
def hello_world():
    return 'Hello World!'

# route your canvas-specific page
@app.canvas_route('/app/', methods=['GET','POST'])
def canvas():
    return 'hello, world'

 #route page requiring user data
@app.canvas_route('/user/', methods=['GET','POST'])
def user(canvas_user):
    return canvas_user.request('/me')

if __name__ == '__main__':
    app.run(host = HOST, port …
Run Code Online (Sandbox Code Playgroud)

python facebook flask

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

Python3。ImportError:没有名为“ myfile”的模块

iMac-Mark:~ Mark$ python3
Python 3.3.2 (v3.3.2:d047928ae3f6, May 13 2013, 13:52:24) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import myfile
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'myfile'
Run Code Online (Sandbox Code Playgroud)

我是Python和一般编程的新手。我读了一些有关的文章sys.path__PATH__但我什么都不懂。

python unix macos

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

在 Flask 中处理 URL 中的 &amp; 符号

我是使用 Flask 和 Jinja2 模板进行 Web 开发的新手。模板中 HTML 表格的一行中的一列是:

<td><a> href="/plot?label={{stats[0]}}">{{stats[0]}} </a></td>
Run Code Online (Sandbox Code Playgroud)

stats[0]是一个字符串变量,可能包含“&”,例如“Eggs & Spam”。现在在视图(views.py)中:

@app.route("/plot", methods = ["GET", "POST"])
@login_required
def on_plot():
    data = request.args
    label_name = data['label']
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得到的data结果ImmutableMultiDict([(' Spam', u''), ('label', u'Eggs ')]) 是不正确的。相反我想要ImmutableMultiDict([('label', u'Eggs & Spam ')])

那么我该如何处理这个案子呢?我尝试这样做{{stats[0]|escape}},但没有成功。

python url-routing jinja2 flask

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

为什么没有编译错误的数组定义具有非常量值?

我以为我应该得到allData的以下char数组定义的编译错误:

void MyClass::aMethod(const char* data, int size)
{
   int headerSize = 50;
   MyHeader header;
   //size is not constant and unknown at compile time
   char allData[size + headerSize]; //<<<<<==== should not allowed!! but not error??
   memcpy(allData, &header, headerSize);
   memcpy(allData + headerSize, data, size);
   ....
}
Run Code Online (Sandbox Code Playgroud)

为什么?它会产生运行时错误吗?

c++ arrays

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