小编ani*_*ils的帖子

如何在sql炼金术过滤器中从字符串变量动态地给出列名?

我想在sql炼金术过滤器中创建查询,但是在变量/变量中指定的列是(动态的).

原始查询:

db_session.query(Notice).filter(Notice.subject.like("%" +query+ "%"))
Run Code Online (Sandbox Code Playgroud)

我想做这样的查询:

col_name='subject'
db_session.query(Notice).filter(Notice.col_name.like("%" +query+ "%"))
col_name='status'
status=0
db_session.query(Notice).filter(Notice.col_name != 1)
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

Codeigniter:在循环发送多封电子邮件时,未清除上次电子邮件的电子邮件附件

我的代码在附件中循环发送多封电子邮件,

问题是最后(以前所有)电子邮件的附件被附加到下一封电子邮件.

恩.假设3个电子邮件在数据库中,每个电子邮件中有1个附件(a1.pdf,a2.pdf,a3.pdf),然后它会发送带有附件的电子邮件

电子邮件1:

附件:a1.pdf

电子邮件2:

附件:a1.pdf,a2.pdf

电子邮件3:

附件:a1.pdf,a2.pdf,a3.pdf

我正在使用codeigniter框架.

我的代码是(这个代码在循环中调用)

...

$这 - >的电子邮件 - >受试者(本期特价货品$>受试者);

        $this->email->message($message);
        $attachments='';
        if(strlen($item->attachment) > 5)
        {
            $attachments = explode(',', $item->attachment);
            foreach($attachments as $attachment)
            {
                if(strlen($attachment)>5)
                $this->email->attach(FCPATH . 'attachments/' . $attachment);                    
            }                

        }

      $this->email->send();
Run Code Online (Sandbox Code Playgroud)

...

php email attachment

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

如何在使用db session时在sql alchemy中使用事务?

我在我的项目中使用sql炼金术,我使用了db session,

engine = create_engine(configuration)
db_session = scoped_session(sessionmaker(autocommit=False,
                                     autoflush=False,
                                     bind=engine))

Base = declarative_base()
Base.query = db_session.query_property()

def init_db():    
    import models
    Base.metadata.create_all(bind=engine)
Run Code Online (Sandbox Code Playgroud)

数据库会话用作:

db_session.merge(order)      #order(model) in object
db_session.commit()
Run Code Online (Sandbox Code Playgroud)

现在我想将数据插入两个表的顺序和订单行项,所以我需要事务,如:1.在第一个插入中我希望插入的顺序的id在第二个插入查询中使用2.如果第二个插入查询失败,那么第一个查询应该回滚

Try:
    #begin transaction/How to begin transaction?
    order=db_session.add(order)      #insert into order
    #is need to commit db_session here as I need inserted orders id
    #here actually db_session.commit() needed to get order's id(auto generated) 
    #if db_session committed here then sql alchemy starts new session       

    order_line_item.id = order.id
    db_session.add(order_line_item)    #insert into order line line item

    db_session.commit() …
Run Code Online (Sandbox Code Playgroud)

transactions sqlalchemy

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

如何在pyside/pyqt/qt中获取QWidget的所有子组件?

我正在使用pyside(qt)开发一个桌面应用程序,我想访问(迭代)QWidget的所有行编辑组件.在qt中我发现了两个方法findChildfindChildren,但没有找到正确的例子,我的代码显示错误,'form'对象没有属性'findChild'. 这里的'形式'是Qwidget表单,包括组件lineEdit,comboboxes,Qpushbuttons等.

码:

lineEdits = form.findChild<QLineEdit>() //This is not working

lineEdits = form.findChild('QLineEdit) //This also not working
Run Code Online (Sandbox Code Playgroud)

python qt children pyside

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

在Flask-migrate中,ValueError:位置15的连接字符串中的无效插值语法

我正在使用flask migrateflask-sqlalchemy进行数据库创建和迁移.

一切都工作正常,直到我更改我的数据库用户密码包含'@'然后它停止工作所以,我更新了我的代码基于 写密码包含特殊字符时的连接字符串

它适用于应用但不适用于烧瓶迁移,它在迁移时显示错误

python manage.py db migrate

ValueError: invalid interpolation syntax in u'mysql://user:p%40ssword@localhost/testdb' at position 15
Run Code Online (Sandbox Code Playgroud)

密码在这里被p@ssword转义urlquote(见上面的问题链接).

完整错误堆栈:

Traceback (most recent call last):
  File "manage.py", line 20, in <module>
    manager.run()
  File "/usr/local/lib/python2.7/dist-packages/flask_script/__init__.py", line 412, in run
    result = self.handle(sys.argv[0], sys.argv[1:])
  File "/usr/local/lib/python2.7/dist-packages/flask_script/__init__.py", line 383, in handle
    res = handle(*args, **config)
  File "/usr/local/lib/python2.7/dist-packages/flask_script/commands.py", line 216, in __call__
    return self.run(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flask_migrate/__init__.py", line 177, in migrate
    version_path=version_path, rev_id=rev_id)
  File "/usr/local/lib/python2.7/dist-packages/alembic/command.py", line 117, …
Run Code Online (Sandbox Code Playgroud)

python mysql connection-string flask-sqlalchemy flask-migrate

9
推荐指数
2
解决办法
3115
查看次数

如何修复python中windows上的路径中的斜杠问题?

我在python和pyside中开发了一个应用程序.我在linux机器上开发了它.现在我想在Windows机器上部署它.这里的问题是路径.在linux正斜杠(/)用作分隔符但Windows使用反斜杠(\)作为分隔符.

因此,在Windows上所有路径都不起作用.应用程序中有多个路径(用于样式表,图像,日志等)

很难改变所有路径,因为大多数路径都是硬代码,如:

 rootPath()+'/static/images/add.png' #rootPath return os.path...
Run Code Online (Sandbox Code Playgroud)

例:

 colorPickerBtnStyle = 'background:url(' + rootPath() + '/static/images/color_icon.png);background-repeat: no-repeat;background-position:center center;'
Run Code Online (Sandbox Code Playgroud)

有没有解决这个问题的方法.

python windows path pyside

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

如何在特定的浏览器选项卡/窗口/页面中打开链接/ URL?

我的页面包含链接/网址列表,其中target ="_ blank".当我点击任何链接时,它在新标签/窗口/页面中打开(让我们说在窗口W中),它确定,但是我想要的是什么?,当我点击任何其他链接/网址(来自列表)时,那个链接应该在窗口/页面W中打开,它已经在前一次点击时打开/显示(即没有额外的标签/窗口打开).

防爆. 我的网站在页面中显示用户名称和个人资料链接(target ="_ blank")的页面,让我们说user1,user2,user3 ...,现在当我点击user1的个人资料链接时,新的窗口/页面将打开显示user1的个人资料在详细信息中,现在我点击user2的个人资料链接,然后在打开/显示user1的个人资料的窗口/页面中打开user2的个人资料,而不是打开新的窗口/页面.

可能吗?如果是的话怎么样?

是否可以使用php或jquery?

html jquery

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

如何删除pyside/pyqt中ui组件的属性?

我已将 QLineEdit 属性设置为

self.ui.txtName.setProperty('rules', 'required')
Run Code Online (Sandbox Code Playgroud)

我想动态删除这个属性,有什么办法可以做到这一点,

python pyqt pyside

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

Sphinx-apidocs 未从 python 代码生成 TODO 文档

我已经设置了 Sphinx api 文档,它可以从我的 python 代码生成 html 文档。所以唯一缺少的是它没有生成 # TODO 文档。

我检查了不同的网站和 Sphinx api-doc 文档并检查了我的配置,它看起来不错。

这是我的配置:

配置文件

extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.todo',
'sphinx.ext.viewcode',
]

todo_include_todos = True
Run Code Online (Sandbox Code Playgroud)

在设置快速启动时,

todo: 写入可以在构建时显示或隐藏的“todo”条目 (y/n) [n]: y

以及 .py 文件中的文档

def post(self):
    """
    Adds a :class:`Persona` resource in Persona resource list.

    :returns: A newly created Persona resource with http 201 response code.
    """
    args = parser.parse_args()
    persona_id = int(max(PERSONAS.keys())) + 1
    persona_id = '%i' % persona_id
    PERSONAS[persona_id] = {'name': args['name']}

    # TODO Validate all …
Run Code Online (Sandbox Code Playgroud)

python-sphinx

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