小编dav*_*gri的帖子

在不使用条件的情况下返回2个可能参数的另一个参数

例如,如果我有一个保证接收5或7作为参数的函数,我希望函数在收到7时返回5,如果收到5则不返回5而不使用任何条件.

我在接受采访时被问到这个问题并且非常难过,谢谢.

java

42
推荐指数
7
解决办法
1694
查看次数

Nginx无效的URL前缀

我有一个非常基本的nginx设置,由于某种原因失败了;

server {
    listen 80;
    server_name librestock.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/david/StockSearch/stocksearch;
    }

    location / {
        include proxy_params;
        proxy_pass unix:/home/david/StockSearch/stocksearch/stocksearch.sock;
    }
}
Run Code Online (Sandbox Code Playgroud)

根据我读过的所有内容,我正确设置服务器名称.当我用它的服务器的ip替换librestock.com时它的工作原理.

错误:

$ nginx -t
nginx: [emerg] invalid URL prefix in /etc/nginx/sites-enabled/stocksearch:12
nginx: configuration file /etc/nginx/nginx.conf test failed
Run Code Online (Sandbox Code Playgroud)

nginx

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

如何在Python中安全地停止无限循环?

我有一个在无限循环上运行的脚本,并将数据添加到数据库中并执行我不能只停留一半的事情,所以我不能只按ctrl + C并停止它.

我希望能够以某种方式停止while循环,但让它在停止之前完成它的最后一次迭代.

让我澄清一下:

我的代码看起来像这样:

while True:
    does something
    does more things
    does more things
Run Code Online (Sandbox Code Playgroud)

我希望能够在结束或开始时中断while循环,但不能在执行操作之间中断,因为这样会很糟糕.

如果我想继续,我不希望它在每次迭代后都问我.

感谢您的回答,我非常感激,但我的实施似乎并没有起作用:

def signal_handler(signal, frame):
        global interrupted
        interrupted = True

class Crawler():
    def __init__(self):
    # not relevent

    def crawl(self):
        interrupted = False
        signal.signal(signal.SIGINT, signal_handler)
        while True:
            doing things
            more things

            if interrupted:
                print("Exiting..")
                break
Run Code Online (Sandbox Code Playgroud)

当我按下ctr + c时,程序就会一直无视我

python infinite-loop

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

重启后Postgresql停止工作

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

在localhost上运行会得到相同的结果:

psql -h localhost                                                                                                                                                    ? master ? ?
psql: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)

服务状态:

sudo service postgresql status                                                                                                                                       ? master ? ?
[sudo] password for david: 
? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) …
Run Code Online (Sandbox Code Playgroud)

postgresql ubuntu

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

使用React时最好使用胖箭头函数还是在构造函数中绑定函数?

在创建React类时,哪个更好?

export default class Foo extends React.Component {
  constructor (props) {
    super(props)
    this.doSomething = this.doSomething.bind(this)
  }

  doSomething () { ... }
}
Run Code Online (Sandbox Code Playgroud)

要么

export default class Foo extends React.Component {
  doSomething = () => { ... }
}
Run Code Online (Sandbox Code Playgroud)

我的同事认为后者会导致内存问题,因为babel会将代码转换为捕获this内部的代码,并且该引用将导致实例不被GC清除.

有什么想法吗?

javascript garbage-collection ecmascript-6 reactjs

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

gzip没有和Whitenoise一起在Django工作

我在Heroku上部署了一个Django网站,使用Whitenoise提供静态文件.

静态文件工作正常,但Gzip不能根据我用来测试它的各种网站(包括谷歌工具)工作.

这是我的生产设置文件中的代码:

DATABASES['default'] = dj_database_url.config()


SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

ALLOWED_HOSTS = ['*']

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
Run Code Online (Sandbox Code Playgroud)

我的静态文件配置:

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

STATIC_URL = '/static/'
STATIC_ROOT = 'staticfiles'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)
Run Code Online (Sandbox Code Playgroud)

我的wsgi.py文件

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sikumim.settings")

application = get_wsgi_application()

#HEROKU DEPLOYMENT

from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(application)
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

我在评论中提出了一些命令,看起来像gzip不起作用:

➜~curl-I -H"Accept-Encoding:gzip" http://127.0.0.1:8000/

HTTP/1.0 200 OK
Date: Mon, 17 Aug 2015 13:56:02 GMT
Server: WSGIServer/0.2 CPython/3.4.0
X-Frame-Options: SAMEORIGIN
Vary: Cookie
Content-Type: text/html; charset=utf-8
Set-Cookie:  csrftoken=SsgKEp76HDhG5L7otWxqBJeMyb00Vp03; …
Run Code Online (Sandbox Code Playgroud)

django gzip heroku django-wsgi

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

从 Django 视图中更改 css 样式

如果对此有一个明显的答案,请提前抱歉,我仍在学习 Django 的诀窍。

我正在创建一个网站,其中有 6 个预先确定的主题(未存储在数据库中)英语、公民、文学、语言、历史、圣经

每个主题都将与一种独特的颜色相关联。

我有一个 subject.html 页面的模板和一个从 url appname/subject/subjectname 加载的视图

我需要做的是应用特定的 css 根据访问的主题来设置页面样式。例如,如果用户转到 appname/subject/english,我希望该页面以英语为“主题”。

我希望我已经说清楚了,我也想知道是否有一种方法可以将实际的CSS代码添加到样式表中,而不必从后端一一更改属性。

非常感谢!

html css python django

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

使用请求库临时检索图像

我正在编写一个网络刮刀,而不是只需要从网址中抓取图像的缩略图.

这是我的函数,使用urlib库.

def create_thumb(self):
    if self.url and not self.thumbnail:
        image = urllib.request.urlretrieve(self.url)

        # Create the thumbnail of dimension size
        size = 350, 350
        t_img = Imagelib.open(image[0])
        t_img.thumbnail(size)

        # Get the directory name where the temp image was stored
        # by urlretrieve
        dir_name = os.path.dirname(image[0])

        # Get the image name from the url
        img_name = os.path.basename(self.url)

        # Save the thumbnail in the same temp directory
        # where urlretrieve got the full-sized image,
        # using the same file extention in os.path.basename()
        file_path …
Run Code Online (Sandbox Code Playgroud)

python urllib web-scraping python-requests

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

将字典列表转换为列表列表

我知道这可以通过列表理解来实现,但我似乎无法弄明白.目前我有一个字典列表,如下所示:

 [ {'field1': 'a', 'field2': 'b'},
   {'field1': 'c', 'field2': 'd'},
   {'field1': 'e', 'field2': 'f'} ]
Run Code Online (Sandbox Code Playgroud)

我想把它变成:

list = [
    ['b', 'a'],
    ['d', 'c'],
    ['f', 'e'],
]
Run Code Online (Sandbox Code Playgroud)

python dictionary list-comprehension list dictionary-comprehension

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