对此感到很沮丧,几天来一直试图让它发挥作用。我请求帮助。
这是一个包含 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) 我在 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) 我正在尝试将对象保存在非默认数据库中。我已经配置了第二个连接。
我知道为了得到对象,它是 Class.objects.using('the_db').all
但是当我尝试时object.using('the_db').save()它不起作用。(错误:“对象没有属性 'using'”。我也尝试过,object.save('the_db')但它也不起作用。
我怎样才能做到这一点?我找不到正确的语法。
我需要知道如何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)
但我不想使用最后一个选项,因为它需要在视图中执行更多查询。