小编Phi*_*lip的帖子

python-flask db.session.commit() 不工作

问题是当用户尝试“忘记密码”选项时。它reset_key为验证创建新的,但新的密钥没有更新到数据库中。

@app.route('/login/forgot/', methods=['GET', 'POST'])
def forgot():
   form = ResetLoginForm(request.form)
   #There's no session yet. User just pointing to /login/forgot url.

   if request.method == 'POST' and form.validate():
      user = User.query.filter_by(email=form.email.data).first()

   if not user:
     flash('The username or email incorrect')
     return render_template('forgot.html', form=form)

   reset_key = generate_key() ## this creates a new key, but how update  this key into db?
   #tried something like 
   user.reset_key = reset_key 
   db.session.add(user)
   db.session.commit()
   #this is not working. Is it due to session is not started or something?
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助或提示。

python flask flask-sqlalchemy

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

如何以编程方式在启动它的同一脚本中终止正在运行的进程?

如何以允许我终止它们的方式从脚本启动进程?

基本上,我可以轻松地终止主脚本,但终止此主脚本启动的外部进程一直是个问题.我用疯狂搜索Perl 6解决方案.我正准备发布我的问题然后认为我会用其他语言解决问题.

使用Perl 6可以轻松启动外部流程:

my $proc = shell("possibly_long_running_command");
Run Code Online (Sandbox Code Playgroud)

shell在流程完成后返回流程对象.所以,我不知道如何以编程方式找出正在运行的进程的PID,因为$proc在外部进程完成之前甚至都没有创建变量.(旁注:完成后,$proc.pid返回一个未定义的Any,所以它不会告诉我它以前有什么PID.)

以下是一些代码,展示了我创建"自毁"脚本的一些尝试:

#!/bin/env perl6

say "PID of the main script: $*PID";

# limit run time of this script
Promise.in(10).then( {
    say "Took too long! Killing job with PID of $*PID";
    shell "kill $*PID"
} );

my $example = shell('echo "PID of bash command: $$"; sleep 20; echo "PID of bash command after sleeping is still $$"');

say "This line is never printed";
Run Code Online (Sandbox Code Playgroud)

这会导致以下输出终止主脚本,但不会导致外部创建的进程(请参阅单词后面的输出Terminated …

python java bash perl perl6

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

使用python list中的信息删除MYSQL中的多个行

如果列表LL:

LL = ['foo', bar', 'noo', 'boo',]

在MySQL表中,使用其他ID在列ID中进行测试.

我可以使用以下内容删除LL中ID为ID的所有行:

 csr.execute("""DELETE FROM test.test WHERE ID = "Foo"; """)
  csr.execute("""DELETE FROM test.test WHERE ID = "bar"; """)  
  csr.execute("""DELETE FROM test.test WHERE ID = "noo"; """)
  csr.execute("""DELETE FROM test.test WHERE ID = "boo"; """)  
Run Code Online (Sandbox Code Playgroud)

我怎么能以编程方式做到这一点?

python mysql string sql-delete

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

Python ijson解析文件(来自softwaremaniacs.org的ijson)

我需要一点帮助来解析一个大的JSON文件.这里我只有一个数据样本(只有2个项目).

我需要使用parse方法.open()不起作用,因为文件太大.

parser=ijson.parse("sample.json")
Run Code Online (Sandbox Code Playgroud)

我需要循环并打印出Identifier所有的Assets.

它不会那么难,但我无法得到正确的代码.

感谢您提供任何有用的提示.

彼得

json数据:

{
  "AssetCount": 2,
  "Server": "xy",
  "Assets": [
    {
      "Identifier": "21979c09fc4e6574"
    },
    {
      "Identifier": "e6235cce58ec8b9c"
    }
 ]
}
Run Code Online (Sandbox Code Playgroud)

python unix json

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

使用多处理和池时如何访问全局变量?

我试图避免必须将变量冗余地传递到dataList(例如[(1, globalDict), (2, globalDict), (3, globalDict)])并在全局中使用它们.global globalDict但是,在以下代码中不是这样做的解决方案.

是否有一种直接的方式来全局访问多处理功能中的数据?

我在这里阅读以下内容:

" 通信很昂贵. 与线程之间的通信相比,在进程之间交换数据要贵得多.在Python中,数据在传输管道之前被腌制成二进制格式.因此,当任务时,通信的开销可能非常大.为了减少无关的成本,可以更好地分配任务."

我不确定这是否适用于此,但我想在任何情况下简化数据访问.

def MPfunction(data):
    global globalDict

    data += 1

    # use globalDict

    return data

if __name__ == '__main__':

    pool = mp.Pool(mp.cpu_count())

    try:
        globalDict = {'data':1}

        dataList = [0, 1, 2, 3]
        data = pool.map(MPfunction, dataList, chunksize=10)

    finally:
        pool.close()
        pool.join()
        pool.terminate()
Run Code Online (Sandbox Code Playgroud)

python global-variables multiprocessing

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

如何将Viewstate值从一个aspx页面传递到另一个页面?

实际上我使用视图状态将值从一个页面发送到另一个页面,如果是,那么我们可以这样做吗.我只想用viewstate做其他技术,比如coockie或querystring?

asp.net viewstate

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