小编Pao*_*llo的帖子

在Jinja2中,如何测试变量是否未定义?

从Django转换,我习惯做这样的事情:

{% if not var1 %} {% endif %}
Run Code Online (Sandbox Code Playgroud)

如果我没有将var1放入上下文中,并使其工作.Jinja2给了我一个未定义的错误.是否有简单的说法{% if var1 == None %}或类似方式?

jinja2

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

sqlalchemy外键关系属性

我有一个User表和一个Friend表.Friend表包含两个外键,包括我的User表和状态字段.我试图能够在Friend对象上调用我的User表中的属性.例如,我希望能够做一些像friend.name或friend.email这样的事情.

class User(Base):
    """ Holds user info """

    __tablename__ = 'user'
    id = Column(Integer, primary_key=True)
    name = Column(String(25), unique=True)
    email = Column(String(50), unique=True)
    password = Column(String(25))
    admin = Column(Boolean)

    # relationships
    friends = relationship('Friend', backref='Friend.friend_id',primaryjoin='User.id==Friend.user_id', lazy='dynamic')

class Friend(Base):
    __tablename__ = 'friend'

    user_id = Column(Integer, ForeignKey(User.id), primary_key=True)
    friend_id = Column(Integer, ForeignKey(User.id), primary_key=True)
    request_status = Column(Boolean)
Run Code Online (Sandbox Code Playgroud)

当我获得friend对象时我只有2 user_ids并且我希望显示每个用户的所有属性,以便我可以在表单等中使用该信息.我是sqlalchemy的新手 - 仍在尝试学习更多高级功能.这只是一个较大的Flask项目的片段,这个功能将用于friend请求等.我试图查找关联对象等,但我很难用它.

任何帮助将不胜感激.

python sqlalchemy flask-sqlalchemy

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

pyusb:无法设置配置

我正在尝试制作一个脚本(在Linux上),可以打开或关闭鼠标中的灯光.

这是我到目前为止的代码:

import usb.core
import usb.util
import sys
interface = 0
dev = usb.core.find(idVendor=0x1532, idProduct=0x0017)

def main():

        if dev is None:
            print "device not found"

        else:
        print "device found"
        if dev.is_kernel_driver_active(interface) is True:
            print "but we need to detach kernel driver"
            dev.detach_kernel_driver(interface)
            print "claiming device"
            usb.util.claim_interface(dev, interface)


            print "release claimed interface"
            usb.util.release_interface(dev, interface)
            print "now attaching the kernel driver again"
            dev.attach_kernel_driver(interface)
            print "all done"
return 0

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我尝试做:dev.set_configuration()

claim_interface(dev,interface)之后

该脚本返回错误:usb.core.USBError:资源忙

在分离内核驱动程序后,为什么它仍然很忙?

python usb libusb pyusb

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

Flask-SQLAlchemy过滤器和运算符

Flask-SQLAlchemy提供了筛选查询的选项.您可以通过多种方式筛选查询 - Flask-SQLAlchemy文档提供的示例:

User.query.filter_by(username='peter') # Returns all users named 'peter'
User.query.filter(User.email.endswith('@example.com')) # Returns all users with emails ending in '@example.com'
Run Code Online (Sandbox Code Playgroud)

我还发现这是一对多的关系:

User.query.filter(User.addresses.any(address=address)) # Returns all users who have a particular address listed as one of their addresses
Run Code Online (Sandbox Code Playgroud)

问题:

  • 有谁知道实际可以使用哪些过滤器?我无法在文档中的任何位置找到过滤器列表,这使得查询数据库变得相当困难.
  • 特别是,我会使用什么过滤器来检查用户的电子邮件是否包含在特定的一组电子邮件地址中?

python sqlalchemy operators flask flask-sqlalchemy

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

如何在 Flask 中向会话添加多个项目

我在我的网站上创建了一个“添加到购物车”,效果非常好。

我用来Jquery.getJSON发出请求以获取所选产品的价值,以下是代码:

    $(function() {
      $('a#process_menu').bind('click', function() {
        /*var amount = document.getElementById('kale').value;*/
        $.getJSON('{{url_for("get_the_order")}}', {
          menu_order: $(this).text(), price_order: $('input[name="kalkal"]').val(),
        }, function(data) {
          location.reload();
        });
        return false;
      });
    });
Run Code Online (Sandbox Code Playgroud)

这是接收请求的函数:

@app.route('/get_the_order')
def get_the_order():

    global the_order_list

    try:

        the_order_list = []
        sum_list = []

        get_order = request.args.get('menu_order', 0, type=str)
        get_price = request.args.get('price_order', 0, type=str)

        the_order_list.append(get_order)
        sum_list.append(get_price)

        session['theOrder'] = ' '.join(the_order_list)
        session['price'] = ' '.join(sum_list)

        return jsonify(result=the_order_list + sum_list)

    except Exception as e:
        return redirect("menu")
Run Code Online (Sandbox Code Playgroud)

这里我有显示所有产品的模板:

{% if entries_menu %}
    {% for menu_ent in …
Run Code Online (Sandbox Code Playgroud)

python jinja2 flask

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

如何获取不是多对多关系的所有行

我需要获取所有不涉及该组的用户。在 SQL 中,它就像NOT EXIST. 但我不知道如何在 SQLAlchemy 的 ORM 中做到这一点。

模型.py

group_table = Table('assoc_groups_users', Base.metadata,
                Column('user_id', Integer, ForeignKey('users.id')),
                Column('group_id', Integer, ForeignKey('groups.id'))
                )

class Users(Base):
    __tablename__ = "users"
    id = Column(Integer, primary_key=True)
    name = Column(String(50), unique=False)

class Groups(Base):
    __tablename__ = "groups"
    id = Column(Integer, primary_key=True)
    title = Column(String(127))

    users = relationship("Users",
                           secondary=books_table,
                           backref=backref("books", lazy='dynamic'))
Run Code Online (Sandbox Code Playgroud)

sqlalchemy flask-sqlalchemy

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

标签 统计

python ×4

flask-sqlalchemy ×3

sqlalchemy ×3

flask ×2

jinja2 ×2

libusb ×1

operators ×1

pyusb ×1

usb ×1