小编Jen*_*man的帖子

疑难解答"相关字段包含无效查询:icontains"

我在models.py中有以下模型:

class ListinoTraduttore(models.Model):
        traduttore = models.ForeignKey('Traduttore', related_name='Traduttore')
        linguaDa = models.ForeignKey(Lingua, related_name = "linguaDa")
        linguaA = models.ForeignKey(Lingua, related_name = "linguaA")
        prezzoParola = models.CharField(max_length=50, blank=True)
        prezzoRiga = models.CharField(max_length=50, blank=True)
        scontoCat = models.CharField(max_length=50, blank=True)
        scontoFuzzy = models.CharField(max_length=50, blank=True)
        scontoRipetizioni = models.CharField(max_length=50, blank=True)
        class Meta:
                verbose_name_plural = "Listini Traduttori"
        def __unicode__(self):
                return u"%s Da %s A %s Parola=%s Riga=%s ScontoCAT=%s ScontoFuzzy=%s ScontoRipetizioni=%s" % (self.traduttore, self.linguaDa, self.linguaA, self.prezzoParola, self.prezzoRiga, self.scontoCat, self.scontoFuzzy, self.scontoRipetizioni)


class Traduttore(models.Model):
        nome = models.CharField(nomeString, max_length=50)
        cognome = models.CharField(cognomeString, max_length=50)
        nomeAzienda = models.CharField(nomeAziendaString, …
Run Code Online (Sandbox Code Playgroud)

exception django-admin

80
推荐指数
5
解决办法
5万
查看次数

无法使用django-channels,docker上的nginx作为服务连接到websocket

我正在使用docker compose来构建一个django,nginx作为服务的项目.当我启动daphne服务器,并且客户端尝试连接到websocket服务器时,我收到此错误:

*1 recv() failed (104: Connection reset by peer) while reading response header from upstream
Run Code Online (Sandbox Code Playgroud)

客户端显示了这一点

failed: Error during WebSocket handshake: Unexpected response code: 502
Run Code Online (Sandbox Code Playgroud)

这是我的docker-compose.yml

version: '3'
services:
  nginx:
    image: nginx
    command: nginx -g 'daemon off;'
    ports:
      - "1010:80"
    volumes:
      - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf
      - .:/makeup
    links:
      - web
  web:
    build: .
    command: /usr/local/bin/circusd /makeup/config/circus/web.ini
    environment:
      DJANGO_SETTINGS_MODULE: MakeUp.settings
      DEBUG_MODE: 1
    volumes:
      - .:/makeup
    expose:
      - '8000'
      - '8001'
    links:
      - cache
    extra_hosts:
      "postgre": 100.73.138.65
Run Code Online (Sandbox Code Playgroud)

Nginx的:

server {
        listen 80;
        server_name …
Run Code Online (Sandbox Code Playgroud)

django nginx docker circusd devops

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

将子目录添加到 python 命名空间

我希望能够导入一个实际上位于另一个模块子目录中的 python 模块。

我正在开发一个带有插件的框架。由于我希望有几千个(目前已经有 >250 个)并且我不想要一个包含 >1000 个文件的大目录,我将它们排序在这样的目录中,它们按名称的第一个字母分组:

framework\
    __init__.py
    framework.py
    tools.py
    plugins\
        __init__.py
        a\
            __init__.py
            atlas.py
            ...
        b\
            __init__.py
            binary.py
            ...
        c\
            __init__.py
            cmake.py
        ...
Run Code Online (Sandbox Code Playgroud)

由于我不想给其他插件的开发人员或不需要那么多插件的人带来负担,我想将每个插件放在 'framework.plugins' 命名空间中。这样,添加一堆私有插件的人可以通过将它们添加到文件夹 framework.plugins 中来实现,并提供一个__init__.py包含以下内容的文件:

from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
Run Code Online (Sandbox Code Playgroud)

然而,目前这个设置迫使他们也使用 az 子目录。有时一个插件会扩展另一个插件,所以现在我有一个

from framework.plugins.a import atlas
Run Code Online (Sandbox Code Playgroud)

我想要

from framework.pugins import atlas
Run Code Online (Sandbox Code Playgroud)

有什么方法可以声明一个命名空间,其中完整的命名空间名称实际上没有映射到文件夹结构?

我知道 pkg_resources 包,但这只能通过 setuptools 获得,我不想有额外的依赖。

import pkg_resources
pkg_resources.declare_namespace(__name__)
Run Code Online (Sandbox Code Playgroud)

该解决方案应该适用于 python 2.4-2.7.3

更新:结合提供的答案,我尝试获取__init__.py从插件中导入的所有插件的列表。但是,这由于依赖关系而失败。由于 'c' 文件夹中的插件尝试导入以 't' 开头的插件,而这个插件尚未添加。

plugins = [ x[0].find_module(x[1]).load_module(x[1]) for x in pkgutil.walk_packages([ …
Run Code Online (Sandbox Code Playgroud)

python

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

是初始化类型"int&"(非const限定)类型的引用,类型为"bool"的某些hack?

我在这里来了accros这个c ++代码:

  // round alternate
  // Bias: none for sequential calls
  bool _is_up = false;
  template <typename FloatType>
  FloatType roundalternate( const FloatType& value, int& is_up = _is_up )
    {
    if ((is_up != is_up))
      return roundhalfup( value );
    return roundhalfdown( value );
    }
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑,这应该如何运作?这应该如何在每次调用此函数时进行备用调用?

这个代码是完全错误的,还是应该由于某些编译器的怪异而起作用?似乎用g ++编译好了,但我现在无法重现这一点.icc不接受它:

rounding.h(183): error: a reference of type "int &" (not const-qualified) cannot be initialized with a value of type "bool"
FloatType roundalternate0( const FloatType& value, int& is_up = _is_up )
                                                                  ^
Run Code Online (Sandbox Code Playgroud)

更新 g ++似乎也不接受它(在Ben …

c++ gcc reference

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

标签 统计

c++ ×1

circusd ×1

devops ×1

django ×1

django-admin ×1

docker ×1

exception ×1

gcc ×1

nginx ×1

python ×1

reference ×1