我试图异步发送一些邮件(根据Flask Mega-Tutorial,Part XI:Email Support中的代码).但是,我在应用程序上下文之外工作时收到以下错误.我该如何解决这个问题?
Traceback (most recent call last):
File "C:\Users\Primoz\Desktop\RecycleFlaskServer\recycleserver\helpers.py", line 17, in send_async_email
mail.send(msg)
File "C:\Python33\lib\site-packages\flask_mail-0.9.0-py3.3.egg\flask_mail.py", line 434, in send
message.send(connection)
File "C:\Python33\lib\site-packages\flask_mail-0.9.0-py3.3.egg\flask_mail.py", line 369, in send
connection.send(self)
File "C:\Python33\lib\site-packages\flask_mail-0.9.0-py3.3.egg\flask_mail.py", line 173, in send
email_dispatched.send(message, app=current_app._get_current_object())
File "C:\Python33\lib\site-packages\werkzeug-0.9.4-py3.3.egg\werkzeug\local.py", line 297, in _get_current_object
return self.__local()
File "C:\Python33\lib\site-packages\flask-0.10.1-py3.3.egg\flask\globals.py", line 34, in _find_app
raise RuntimeError('working outside of application context')
RuntimeError: working outside of application context
Run Code Online (Sandbox Code Playgroud)
from flask import Flask
from flask.ext.mail import Mail
app = Flask(__name__)
app.config.from_object('recycleserver.settings')
mail = …Run Code Online (Sandbox Code Playgroud) 我在第一个模块中有一个父控制器,在第二个模块中有一个“子”控制器。第二个模块依赖于第一个。我希望我的“子”控制器继承“父”控制器。但问题是如何调用“父”控制器方法。
例如:
SecondModule.controller("childBrowseCtrl", function($scope, $injector, $controller){
$injector.invoke(ParentBrowseCtrl, this, {$scope:$scope});
//this overrides the onedit function from parent
$scope.onEdit = function(){
console.log("from edit console");
//how do i make this work?
ParentBrowseCtrl.$scope.onEdit();
};
});
Run Code Online (Sandbox Code Playgroud)
html结构:
<html>
<head></head>
<body>
<div ng-view></div>
</body>
<script src="coreapp.js"></script>
<script src="mainapp.js"></script>
<script>
angular.bootstrap(document,["MainApp"]);
</script>
</html>
Run Code Online (Sandbox Code Playgroud) 我的引擎有一个属性dMeta,返回引擎元,然后我有一个类,有一个方法调用table,基本上这样做:
def table(meta):
return Table('table1',meta,autoload=True,schema=genShema())
Run Code Online (Sandbox Code Playgroud)
我正在自动加载表格:
t = SomeClass.table(engine.dMeta)
sql = select([t.c.ID, t.c.OPIS, t.c.IDG,
func.left(t.c.ID,2).label("Ident"),
(func.left(t.c.ID,2).label('Ident2')+' '+t.c.OPIS).label("show_as")])\
.where(t.c.ATRIBUT=="VPFA")
Run Code Online (Sandbox Code Playgroud)
SQLAlchemy给出了以下错误:
def __getattr__(self, key):
try:
return self._data[key]
except KeyError:
raise AttributeError(key)
Run Code Online (Sandbox Code Playgroud)
关键是ID,self._data contains'ID'= {Column}是一个table1.ID如果我把self._data[key]我得到正确的值,没有错误,那么这里有什么问题?
即使我重新运行代码几次,有时它会中断,有时它不会:/
使用 sqlalchemy 1.0.4、python 3.4.3 和 pyodbc 3.0.10。
我想为 MS SQL 服务器创建一个带有原始 sql 的数据库。
c = "mssql+pyodbc://sa:admin11$$@PROIMT01\SQLEXPRESS/master?driver=SQL+Server+Native+Client+11.0"
e = create_engine(c,echo=True)
con = e.connect()
con.execute("CREATE DATABASE xb;")
con.close()
Run Code Online (Sandbox Code Playgroud)
但是上面的代码返回一个错误"create database statement not allowed within multi-statement transaction"。
我con.execute("commit")在创建脚本之前尝试过,但它什么也没做。
更新
如果我设置了驱动程序,?driver=SQL+SERVER它就可以工作!?
这是我的电话: session.query(User.username, User.first_name, User.last_name).all()
它返回:[('myUsername', 'myFirstname', 'myLastname')]。
我希望它是以下格式:[{"username":"myUsername", "first_name":"myFirstname", "last_name":"myLastname"}]
我试过[dict(zip(["username","first_name","lastname"], x))]
但它返回这个:[{'username': ('myUsername', 'myFirstname', 'myLastname')}]
python ×4
sqlalchemy ×3
angularjs ×1
dictionary ×1
flask ×1
flask-mail ×1
javascript ×1
mysql ×1
sql-server ×1