小编Mil*_*ano的帖子

CELERY 4.0.2 不登录文件

我在我的 Django 项目中使用 Celery (celery==4.0.2)。问题是我无法让 Celery 登录到文件中。我什么都试过了。唯一有效的是在命令中指定文件:

celery worker -A realestate_scanner -l info --purge --logfile=logs/celery.log
Run Code Online (Sandbox Code Playgroud)

但问题是日志会变得非常大,所以我需要指定旋转记录器,并且我想在生产中运行工人并作为守护进程击败。

realestate_scanner/realestate_scanner/celery.py

from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings

# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'realestate_scanner.settings')
app = Celery('realestate_scanner')


app.config_from_object('django.conf:settings',)
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
Run Code Online (Sandbox Code Playgroud)

realestate_scanner/realestate_scanner/settings.py ...

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_extensions',
'djmoney',
'storage',
'engineapp',
'presentation',
'import_export'
 ]


BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json' …
Run Code Online (Sandbox Code Playgroud)

python django logging celery

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

Django/Postgres:在 RangeField 上聚合

是否可以对Django's执行聚合函数RangeField

假设我们有 3 个带有BigIntegerField price_range.

第一个对象: price_range = [10,5000]

第二个对象: price_range = [1,5000]

第三个对象: price_range = [100,9000]

这三个对象的结果MaxMin聚合将是:

min = 1max = 9000

我试图聚集MaxMin这种方式:

MyModel.objects.aggregate(Min('price_range'),Max('price_range'),)
Run Code Online (Sandbox Code Playgroud)

这引发了错误:

ProgrammingError: function min(int8range) 不存在 LINE 1: SELECT MIN("app_mymodel"."price_range") AS "price_range__min" FROM "app...

sql django postgresql aggregate-functions django-orm

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

datetime.fromtimestamp() - 返回我的本地时区而不是 GMT

我在转换timestampGMT. 据我所知,它timestamp总是及时的GMT,所以我期望datetime.fromtimestamp返回GMT或时区感知的日期时间,但它返回我的本地(布拉迪斯拉发/布拉格)日期时间。

import datetime
datetime.datetime.fromtimestamp(1566720000)
datetime.datetime(2019, 8, 25, 10, 0)
Run Code Online (Sandbox Code Playgroud)

但根据纪元转换器,它是

GMT:2019 年 8 月 25 日星期日上午 8:00:00

编辑:datetime.datetime.fromtimestamp(1566720000).tzinfo不返回任何内容,因此它不知道 tz 。

你知道问题出在哪里吗?

python datetime gmt

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

如何在网站上运行 Flask 应用程序

我对 Flask 很陌生。我在字典中开发一个简单的搜索应用程序,该应用程序在应用程序运行时保存在内存中。为了测试这个应用程序,我使用 Flask 框架,当我运行 *.py 文件时,它在本地主机上运行一个服务器。当我启动 Flask 脚本时,我可以在浏览器中看到我的网页并正确使用该应用程序。

if __name__ == '__main__':
    setup()
    app.run()
Run Code Online (Sandbox Code Playgroud)

现在,我想把它放在互联网上进行远程访问。我知道只需复制+粘贴它到某个支持 Python 的主机上的目录是行不通的。我将不胜感激如何使这项工作的任何建议。

我想,它应该保存在主机目录的某个地方,然后我应该启动应用程序 - app.run(我不知道在这里输入什么作为主机和端口)。或者还有其他方法吗?

我只想输入http://[some url where my app runs]并查看存储在烧瓶模板文件中的 html。

python web-hosting flask

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

全局变量未定义 - Python

我有全局变量的问题.它返回错误

search = Search.Search(pattern,b)
NameError: global name 'b' is not defined   
Run Code Online (Sandbox Code Playgroud)

但我已经定义了这个全局变量.我试着把它放到搜索功能中.我认为在Windows上没有问题.我正在尝试在Linux/Unix上运行这个程序.

您对如何避免此错误有任何建议吗?

# -*- coding: utf-8 -*-
from flask import Flask
from flask import request
from flask import render_template


import Search
import B

app = Flask(__name__)

global b

@app.route('/')
def my_form():
    return render_template('my-form.html')

def setup():
    global b
    b = B.B()  

@app.route('/', methods=['POST'])
def search():
    global b
    from time import time

    pattern = request.form['text']
    ...
    se = Search.Search(pattern,b)
    ...
    ...
    ...

app.debug=True
if __name__ == '__main__':
    setup()
    app.run()
Run Code Online (Sandbox Code Playgroud)

python error-handling global-variables

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

使用yield命令时,Decorator无法正常工作

由于我经常使用相同的try-catch块,所以我决定创建一个自动执行的装饰器.

def tryexc(func):
    @wraps(func)
    def wrapper(self, *args, **kwargs):
        try:
            func(self, *args, **kwargs)
        except Exception as e:
            mLib.log('EXCEPTION RAISED')
            mLib.log('ARGS:\n'+'\n'.join(str(x) for x in args))
            mLib.log(str(e))
            mLib.log(traceback.format_exc())
    return wrapper
Run Code Online (Sandbox Code Playgroud)

它在大多数情况下都能正常运行,而不是在方法中使用yield时.

class test_class():
    def __init__(self):
        self.text = 'TEST TEXT'

    @tryexc
    def x(self,a):
        print self.text 
        # yield self.text

    @tryexc
    def y(self,a):
        print list(self.x(5))

test_c = test_class()
test_c.y(5)
Run Code Online (Sandbox Code Playgroud)

yield self.text被注释掉,一切工作正常.文本已打印.但是当没有评论该行时,它会捕获异常.

    print list(self.x(5))
TypeError: 'NoneType' object is not iterable
Run Code Online (Sandbox Code Playgroud)

我不是很喜欢装饰,所以我很感激任何建议.list(self.x(5))在我看来应该是['TEST TEXT'].

python yield decorator python-2.7 nonetype

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

Django 找不到 css(静态文件夹)

我试图找到一种方法,怎么分不清Django哪里static文件,如css存储。问题是它可能找不到static文件夹。我已经设置了settings.py文件,但它没有帮助。

设置.PY:

STATIC_URL = '/static/'

INSTALLED_APPS = (
    ...
    'django.contrib.staticfiles',
)
Run Code Online (Sandbox Code Playgroud)

BASE.HTML:

...
...

<title>Rozcestník</title>

<!-- Bootstrap core CSS -->
  {% load static %}
  <link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet">
...
Run Code Online (Sandbox Code Playgroud)

项目结构: 在此处输入图片说明

问题出在哪儿?

css python django python-import

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

如何将函数的返回值附加到Pool中的列表中?

我很好奇是否可以将函数f(x,y)的返回值附加到例如list中.

所以我有这个:

平行:

 def download_unit_LVs(self, cislo_uzemia):
     pool = Pool(number_of_workers)
     for cislo in cisla:
         pool.apply_async(self.download_cislo, args=(cislo_uzemia,cislo))
     pool.close()
     pool.join()
     self.manager.commit()
Run Code Online (Sandbox Code Playgroud)

这是我运行方法self.download_cislo并行的方法,但问题是,它返回一个我必须附加到结果列表的值.

怎么做?

顺序:

 def download_unit_LVs(self, cislo_uzemia):
        results = []
        for cislo in cisla:
            results.append(self.download_cislo(cislo_uzemia,cislo))
        self.manager.commit()
Run Code Online (Sandbox Code Playgroud)

python multithreading pool python-multithreading

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

在Django Admin中显示组成员

是否可以设置Django Admin页面以显示哪个用户在哪个组中?是否可以使用Django Admin页面将用户添加到组中?如果有,怎么样?

现在,我正在以编程方式添加客户customers group和卖家sellers group,但我在管理中看不到任何信息.

这是我的注册view:

def register_customer(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        customer_registration_form = forms.CustomerRegistrationForm(request.POST)

        if form.is_valid() and customer_registration_form.is_valid():
            new_user = form.save()
            new_customer_profile = UserCustomerProfile(user=new_user)

            new_customer_profile.save()
            customers_group = Group.objects.get(name='Customers')
            new_user.groups.add(customers_group)

            return render(request, 'registration/complete.html')
        else:
            #handle errors

    customer_registration_form = forms.CustomerRegistrationForm()
    form = UserCreationForm()
    return render(request, "registration/register.html",
                  {'form': form, 'customer_registration_form': customer_registration_form})
Run Code Online (Sandbox Code Playgroud)

python django django-models django-admin django-permissions

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

DJANGO:TemplateDoesNotExist:auth/user_confirm_delete.html

我正在尝试在Django中创建一个"删除帐户"功能.我用DeleteView它来做这个目的.

问题是在调用此视图后,Django引发:

Request Method: GET
Request URL:    http://127.0.0.1:8000/profiles/delete-account/
Django Version: 1.11.7
Exception Type: TemplateDoesNotExist
Exception Value:    
auth/user_confirm_delete.html
Run Code Online (Sandbox Code Playgroud)

我的看法:

class DeleteAccount(LoginRequiredMixin,DeleteView):
    model = User

    def get_object(self, queryset=None):
        user = self.request.user
        userprofile = user.userprofile
        userprofile.prepare_to_delete_account()
        return user
Run Code Online (Sandbox Code Playgroud)

为什么它会尝试渲染这个template以及为什么没有这样的模板,如果它被调用?

你知道怎么解决这个问题吗?

django django-models django-views django-authentication

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