小编Asw*_*esh的帖子

在django查询中等效的SQL"LIKE"

django中这个SQL语句的等价物是什么?

SELECT * FROM table_name WHERE string LIKE pattern;
Run Code Online (Sandbox Code Playgroud)

我如何在django中实现这个?我试过了

result = table.objects.filter( pattern in string )
Run Code Online (Sandbox Code Playgroud)

但那没用.我该如何实现?

python sql django django-models django-queryset

88
推荐指数
4
解决办法
7万
查看次数

Heroku django app创建超级用户

我部署了我的django应用程序,当我尝试时

heroku run python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

我有一个等待进程错误的超时.尚未为系统创建超级用户,尽管我使用以下命令执行syncdb:

heroku run:detached python manage.py createsuperuser
Run Code Online (Sandbox Code Playgroud)

但这并没有促使我为超级用户.

我的系统中没有阻止端口5000.如何让heroku运行(或)如何创建超级用户?

django heroku django-manage.py

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

更好的选项来检查特定实例是否存在django

检查实例是否存在,这两者中哪一个是更好和更有效的选项.最多只能返回一条记录.

1)使用过滤器选项,看它是否存在:

x = MyObject.objects.filter(someField=someValue).count()
if x:
    #Instance exists
Run Code Online (Sandbox Code Playgroud)

2)使用get并检查异常:

try:
    x = MyObject.objects.get(someField=someValue)
except MyObject.DoesNotExist:
    #Do Something
Run Code Online (Sandbox Code Playgroud)

上面提到的哪种方法有效或更"Djangoic"?

django models

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

使用map(int,raw_input().split())

虽然我非常喜欢python,但是当我需要在同一行中获得多个整数输入时,我更喜欢C/C++.如果我使用python,我使用:

a = map(int, raw_input().split())
Run Code Online (Sandbox Code Playgroud)

这是唯一的方式还是有任何pythonic方式来做到这一点?考虑到时间,这会花费多少?

python map raw-input

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

Python交换列表

在python中,当我将列表分配给另一个时,例如:

a = [1,2,3]
b = a
Run Code Online (Sandbox Code Playgroud)

现在b和指向同一个列表.现在考虑两个清单,

a = [1,2,3]
b = [4,5,6]
a,b = b,a
Run Code Online (Sandbox Code Playgroud)

现在它们如何像任何其他数据类型一样被交换,并且最终都没有指向同一个列表?

python list python-internals iterable-unpacking

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

这是一种更好的做法 - 全球进口或本地进口

我正在开发django中的应用程序,我怀疑在全局级别导入库对内存或性能的影响是否比在本地(每个功能)级别导入.如果按功能或视图导入,单独需要的模块是否导入节省空间?或者这样做是否有任何负面影响?

python django import

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

python 2.7没有安装matplotlib

嗨,我正在尝试在我的mac上安装matplotlib.我有狮子OS X.

我的python版本是2.7.1(这是我从终端运行它时所说的)

每次我安装matplotlib时,都会出现这个错误

matplotlib 1.1.0 cannot be installed on this disk. matplotlib requires System python 2.7 to install. 
Run Code Online (Sandbox Code Playgroud)

我是python世界的新手,我需要一个工具来绘制一些东西...所以非常感谢明确的解释.

谢谢!

python matplotlib python-2.7

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

警告:预期'int**'但参数类型为'int(*)[(sizetype)(n)]'

以下代码:

#include <stdio.h>

void printSpiral(int **M, int row1, int row2, int col1, int col2) {
  if (!((row1 <= row2) && (col1 <= col2)))
    return;
  int i;
  for (i = col1; i <= col2; i++)
    printf("%d ", M[row1][i]);
  for (i = row1; i <= row2; i++)
    printf("%d ", M[i][col2]);
  for (i = col2; i >= col1; i--)
    printf("%d ",M[row2][i]);
  for (i = row2; i >= row1; i--)
    printf("%d ",M[i][col1]);
  printSpiral(M,row1+1,row2-2,col1+1,col2-1);
}

int main() {
  int n;
  scanf("%d",&n);
  int M[n][n];
  int i, …
Run Code Online (Sandbox Code Playgroud)

c

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

嵌套类实例的有用默认__repr__

我有一个表示接口的抽象基类.此类的子类存储为此类的其他子类的属性.

例如:

class AbstractBase(object):
    pass

class Child(AbstractBase):
    def __init__(self, cls1, cls2):
        assert isinstance(cls1, AbstractBase)
        assert isinstance(cls2, AbstractBase) # just to show they're instances

        self.cls1 = cls1
        self.cls2 = cls2
Run Code Online (Sandbox Code Playgroud)

层次结构的深度和布局不能提前知道,但不会递归.

我能提出的__repr__AbstractBase,让我看到每个子类的性质研究的一个有用的方法是什么?

我目前的做法是:

from pprint import pformat

class AbstractBase(object):
    def __repr__(self):
        return self.__class__.__name__ + '\n' \ 
                + pformat({k:v for k,v in self.__dict__.iteritems()
                           if not '__' in k})
Run Code Online (Sandbox Code Playgroud)

对于基类(没有属性是子类AbstractBase,这会输出一些可读的内容,例如:

MyClass
{'var1': 1,
 'var2': 2}
Run Code Online (Sandbox Code Playgroud)

但是,对于具有AbstractBase子类的类,它会中断,因为很难判断父类的起始位置和另一个结束的位置(假设__repr__上面没有给出进一步缩进的更多嵌套级别).

我会对下面的内容感到满意,想象cls1cls2拥有一个int属性var: …

python class

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

Django频道daphne返回200状态代码

我已经用Nginx + uwsgi设置了Django应用程序。该应用程序还使用带有redis的Django通道。在单台机器上部署设置时,一切正常。

但是,当我尝试在2个实例中设置应用程序并设置通用负载平衡器以协调请求时,请求已正确路由到daphne进程,并且可以看到日志。但是从daphne进程返回的状态码是200,而不是101。

负载均衡器nginx conf:

upstream webservers {
    server 10.1.1.2;
    server 10.1.1.3;
}


server {
    location / {
        proxy_pass http://webservers;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用的版本:

daphne==2.2.4
channels==2.1.6
channels-redis==2.3.2
Run Code Online (Sandbox Code Playgroud)

所有路由工作正常,没有错误,但是返回的状态码是200而不是101。

django nginx django-channels

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