小编Gon*_*bra的帖子

Docker 容器中的 Celery:错误/MainProcess 消费者:无法连接到 redis

对此感到很沮丧,几天来一直试图让它发挥作用。我请求帮助。

这是一个包含 Postgres、Celery 和 Docker 的 Django 项目。首先我尝试使用RabbitMQ,并且出现了与现在使用Redis相同的错误,然后在多次尝试后更改为redis,错误仍然相同,所以我认为问题出在Celery上,而不是RabbitMQ/Redis上。

Dockerfile:

FROM python:3.8.5-alpine

ENV PYTHONUNBUFFERED 1

RUN apk update \
    # psycopg2 dependencies
    && apk add --virtual build-deps gcc python3-dev musl-dev \
    && apk add postgresql-dev \
    # Pillow dependencies
    && apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \
    # Translation dependencies
    && apk add gettext \
    # CFFI dependencies
    && apk add libffi-dev py-cffi \
    && apk add --no-cache openssl-dev libffi-dev \
    && apk add --no-cache --virtual .pynacl_deps …
Run Code Online (Sandbox Code Playgroud)

python rabbitmq redis celery docker

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

Django:如何使用 Ajax 发送 csrf_token

我在 jQuery 函数中有我的 Ajax:

btnApplyConfig.js:

$(".btnApplyConfig").click(function(){
    var token = $("input[name=csrfmiddlewaretoken]").val();
    // Some other vars I'm sending properly
    console.log('token: '+token); //printing correctly
    $("#"+frm).submit(function(e){
        e.preventDefault();
        console.log('Post method via ajax');
        $.ajax({
            url: '/ajax/validate_config',
            type: 'POST',
            data: {
                'token': token,
                //and other stuff I'm sending properly
            },
            dataType: 'json',
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我的 Django 视图:

def validate_config(request):
    token = request.GET.get('token', None)
    #some other vars I've sent ok with ajax
    data = {
        #some vars
        'token': token,
    }
    if request.method == 'POST':
        item = MyClass.objects.filter(my_keyword=my_filter_values).update(my_ajax_values) …
Run Code Online (Sandbox Code Playgroud)

django ajax csrf-token

5
推荐指数
2
解决办法
4449
查看次数

Django:不同数据库中的 save() 方法

我正在尝试将对象保存在非默认数据库中。我已经配置了第二个连接。

我知道为了得到对象,它是 Class.objects.using('the_db').all

但是当我尝试时object.using('the_db').save()它不起作用。(错误:“对象没有属性 'using'”。我也尝试过,object.save('the_db')但它也不起作用。

我怎样才能做到这一点?我找不到正确的语法。

python django using save

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

Django:如何在模板中调用“包含”函数?

我需要知道如何contains在 Django 模板中使用。

我想做这样的事情:

视图中:

my_query = MyClass.objects.filter(key=value).my_var
Run Code Online (Sandbox Code Playgroud)

在这样的模板中:

{% if my_query contains 'X' %}
    <p>My var contains an X</p>
{% endif %}
{% if my_query contains 'Y' %}
    <p>My var contains a Y</p>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

我已经知道的其他方法是在视图中进行验证:

my_query_X = MyClass.objects.filter(my_var__contains='X').exists()
my_query_Y = MyClass.objects.filter(my_var__contains='Y').exists()
Run Code Online (Sandbox Code Playgroud)

然后在模板中:

{% if my_query_x == True %}
    <p>My var contains an X</p>
{% endif %}
{% if my_query_y == True %}
    <p>My var contains a Y</p>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

但我不想使用最后一个选项,因为它需要在视图中执行更多查询。

python django contains

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

标签 统计

django ×3

python ×3

ajax ×1

celery ×1

contains ×1

csrf-token ×1

docker ×1

rabbitmq ×1

redis ×1

save ×1

using ×1