我正在RequestFactoryDjango 测试中使用,但找不到访问会话变量的正确方法,并且在尝试self.factory._session["zip_id"]或时出现以下错误
self.factory.session["zip_id"]。
======================================================================
ERROR: test_middleware (dj_geo.tests.IPToZipMiddleWareTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "c:\dj_site_test\dj_geo\tests.py", line 36, in test_middleware
assert self.factory._session["zip_id"] != None
AttributeError: 'RequestFactory' object has no attribute '_session'
----------------------------------------------------------------------
@override_settings(MIDDLEWARE_CLASSES=(
'dj_geo.middleware.IPToZipMiddleWare'
))
class IPToZipMiddleWareTest(TestCase):
def test_middleware(self):
Zipcode.syncdb()
assert Zipcode.objects.all().count() > 0
self.factory = RequestFactory()
self.request = self.factory.get('/', {}, **{'REMOTE_ADDR':'108.31.178.99'})
assert self.factory._session["zip_id"] != None
assert self.factory._session["zip_id"] != ""
Run Code Online (Sandbox Code Playgroud) 我有以下函数来显示对话框,我使用媒体查询将其设置为 100%,但是当它运行时,我仍然看到对话框周围有白色边距。
如何存档全屏对话框?
Future<void> showLoadingDialog(BuildContext context, GlobalKey key) async {
Widget myDialog = SimpleDialog(
key: key,
backgroundColor: Colors.black54,
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
CircularProgressIndicator(),
SizedBox(height: 10,),
Text("Please Wait....",style: TextStyle(color: accentColor),)
]),
)
]);
return showDialog<void>(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return myDialog;
});
}
Run Code Online (Sandbox Code Playgroud) 我使用python xhtml2pdf模块和pisa类来创建PDF.现在PDF是垂直A4格式,如何更改它以使PDF格式化为横向布局?
import xhtml2pdf.pisa as pisa
result = StringIO()
pdf = pisa.CreatePDF(
StringIO("This is my PDF"),
result)
Run Code Online (Sandbox Code Playgroud) 我期望控制台打印调试语句,例如“服务器在端口上启动...”,但是当我运行python app.py以下文件时,没有打印任何内容。我已经将我的应用程序设置为调试模式。
import logging
from flask import Flask
from flask_env import MetaFlaskEnv
from flask_restful import Resource, Api
from flask_restful import reqparse
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.wsgi import WSGIContainer
class Configuration(metaclass=MetaFlaskEnv):
"""
export PORT=80
"""
DEBUG = True
PORT = 5000
LOGGER = logging.getLogger(__name__)
LOGGER.setLevel(logging.DEBUG)
app = Flask(__name__)
app.config.from_object(Configuration)
api = Api(app)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
LOGGER.debug("server starting on port :" + str(app.config["PORT"]))
HTTP_SERVER = HTTPServer(WSGIContainer(app))
HTTP_SERVER.listen(port=app.config["PORT"])
IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud) 我正在尝试pyzipcode使用 Python 3进行 pip install ,但出现以下错误。有没有办法解决这个问题。
Collecting pysqlite (from pyzipcode==1.0->-r requirements.txt (line 16))
Downloading pysqlite-2.8.3.tar.gz (80kB)
100% |????????????????????????????????| 81kB 5.8MB/s
Complete output from command python setup.py egg_info:
pysqlite is not supported on Python 3. When using Python 3, use the sqlite3 module from the standard library.
Run Code Online (Sandbox Code Playgroud) 我该如何为以下内容写一线?
class MyClass():
content = {}
obj = MyClass()
Run Code Online (Sandbox Code Playgroud) 我希望以下正则表达式匹配,但事实并非如此.为什么?
import re
html = '''
<a href="#">
<img src="logo.png" alt="logo" width="100%">
</img>
</a>
'''
m = re.match( r'.*logo.*', html, re.M|re.I)
if m:
print m.group(1)
if not m:
print "not found"
Run Code Online (Sandbox Code Playgroud) 如何在Python(v 2.7)中将以下内容转换为lambda函数?
def my_func(obj):
if obj.type:
return obj.name
else:
return obj.type
Run Code Online (Sandbox Code Playgroud) 以下 ElasticSearch 查询给出了预期结果:
{'query': {'bool': {'must': [{'bool': {'should': [{'term': {'name.keyword': 'Finding'}}]}}]}}, 'size': 10, 'from': 0}
Run Code Online (Sandbox Code Playgroud)
但这给出了空结果。
{'query': {'bool': {'must': [{'bool': {'should': [{'term': {'name.keyword': 'finding'}}]}}]}}, 'size': 10, 'from': 0}
Run Code Online (Sandbox Code Playgroud)
唯一不同的是“发现”改为“发现”。ElasticSearch 默认情况下“不区分大小写”,我有以下映射。我期望两个查询都会给我相同的结果。这是怎么回事?
"name": {
"type": "text",
"analyzer": "keyword",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
Run Code Online (Sandbox Code Playgroud) python ×5
django ×2
python-3.x ×2
class ×1
django-tests ×1
flask ×1
flutter ×1
function ×1
pip ×1
python-2.7 ×1
regex ×1
reportlab ×1
string ×1
tornado ×1
xhtml2pdf ×1