小编use*_*968的帖子

Django 测试 - RequestFactory 中的访问会话

我正在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)

django django-testing django-tests

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

Flutter 显示全屏对话框

我有以下函数来显示对话框,我使用媒体查询将其设置为 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)

flutter flutter-layout flutter-dialog

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

Python xhtml2pdf以横向模式生成PDF

我使用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 django reportlab xhtml2pdf

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

日志记录在 Python 3 的 Flask 下不起作用

我期望控制台打印调试语句,例如“服务器在端口上启动...”,但是当我运行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)

python tornado flask

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

Python 3:Python 3 不支持 pyzipcode

我正在尝试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)

pip python-3.x

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

在一行中建立一个带有属性的类

我该如何为以下内容写一线?

class MyClass(): 
    content = {}
obj = MyClass()
Run Code Online (Sandbox Code Playgroud)

python class python-3.x

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

为什么这个正则表达式不起作用:r'.*logo.*'

我希望以下正则表达式匹配,但事实并非如此.为什么?

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 regex string

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

Python - 转换为lambda函数

如何在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)

python function python-2.7

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

ElasticSearch:布尔/术语搜索不区分大小写

以下 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)

elasticsearch

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