小编Mic*_*rts的帖子

不支持对 CharField 进行“lower”查找或不允许在该字段上进行连接

我正在尝试对查询集执行稍微更高级的查找,如下所述:https: //docs.djangoproject.com/en/3.0/topics/db/search/

我的查询集如下:

            queryset = queryset.filter(
                Q(user__username__unaccent__lower__trigram_similar=search) |
                Q(user__first_name__unaccent__lower__trigram_similar=search) |
                Q(user__last_name__unaccent__lower__trigram_similar=search)
            )
Run Code Online (Sandbox Code Playgroud)

我已将该django.contrib.postgres应用程序包含在我的settings.py.

但是,我收到以下错误:

django.core.exceptions.FieldError: Unsupported lookup 'lower' for CharField or join on the field not permitted.

有谁知道搜索搜索的正确程序?

我正在使用 Django >3 和 postgres 引擎版本 11。

django postgresql django-orm

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

Docker & Wordpress - 上传的文件无法移动到 wp-content/uploads/.../

错误

上传的文件无法移动到wp-content/uploads/.../...

环境:

Wordpress Docker 镜像是从一个基本的 Wordpress 镜像创建的,然后文件被映射进和映射出,用于开发:

version: '3'

services:
  wordpress:
    restart: always
    environment:
      WORDPRESS_DB_NAME: ...
      WORDPRESS_DB_HOST: ...
      WORDPRESS_DB_USER: ...
      WORDPRESS_DB_PASSWORD: ...

    image: wordpress:latest
    ports:
      - 38991:80
    volumes:
      - ./:/var/www/html
Run Code Online (Sandbox Code Playgroud)

我们与托管在 Docker 容器外部的开发数据库交谈。

图像被构建 - 并发送到服务器。然后,CMS 用户尝试上传图像,Wordpress 构建抱怨上传的文件无法移动到wp-content/uploads/.../.... 我们不会在 上收到此错误localhost

一些 DevOps 专家能否请我们指出正确的方向,需要做什么才能在服务器上进行统计。

wordpress docker

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

docker 在 GitHub 操作中构建网络

因此,我正在尝试复制一个用于设置我在本地运行良好的 docker 堆栈的流程,在 Github 操作中在尽可能接近生产/现实世界的场景下执行一些测试。

但是,我在 GitHub 操作工作流程上遇到以下问题,导致失败:

psycopg2.OperationalError: could not translate host name "db" to address: Temporary failure in name resolution
Run Code Online (Sandbox Code Playgroud)

本质上,在本地网络中有效的方法在 Github 操作中不起作用。唯一看起来不同的可能是我在 Github 操作中使用的 docker 版本。

这是我的workflow/ci.yml文件:

psycopg2.OperationalError: could not translate host name "db" to address: Temporary failure in name resolution
Run Code Online (Sandbox Code Playgroud)

本质上,所有步骤都在进行,直到服务需要通过网络与服务api进行通信,例如,dbdb:5432

我的local.yml文件如下:

version: '3.8'

services:
  traefik:
    image: traefik:latest
    container_name: traefik_proxy
    restart: always
    security_opt:
      - no-new-privileges:true
    command:
        ## API Settings - https://docs.traefik.io/operations/api/, endpoints - https://docs.traefik.io/operations/api/#endpoints ##
        - --api.insecure=true # <== Enabling …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose github-actions

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

BDD 与 Cypress &amp; Vite (Vue 3) &amp; Cucumber

我目前已成功在 Vitejs + Vue 3 中实现 Cucumber BDD 测试,如下所示:

我使用以下命令启动并运行开发服务器:

$ yarn dev
Run Code Online (Sandbox Code Playgroud)

然后在一个单独的窗口中运行 Cypress 测试运行程序:

$ yarn cy:run
Run Code Online (Sandbox Code Playgroud)

对应于:

$ yarn dev
Run Code Online (Sandbox Code Playgroud)

在我的 package.json 中。其输出是 1 次测试通过。

到目前为止,一切都很好。然后我发现了这个@cypress/vite-dev-server包,并用里面的黄瓜预处理器实现了它,/cypress/plugins/index.ts如下所示:

/// <reference types="cypress" />
const path = require('path')
const { startDevServer } = require('@cypress/vite-dev-server')
const browserify = require('@cypress/browserify-preprocessor')
const cucumber = require('cypress-cucumber-preprocessor').default

/**
 * @type {Cypress.PluginConfig}
 */
module.exports = (on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) => {
  on('dev-server:start', options => {
    return startDevServer({
      options,
      viteConfig: {
        configFile: path.resolve(__dirname, '..', …
Run Code Online (Sandbox Code Playgroud)

cucumber vue.js cypress vuejs3 vite

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

将 scss 变量与 Vue.js 中的附加道具绑定

我似乎无法找到我正在寻找的东西。我遇到了一个问题,我希望将道具绑定到自定义scss变量。

我有以下“卡” component

<template>
  <div class="option" v-bind:style="--optionBackground:url(img);" v-on:click="switchCards">
    <div class="shadow"></div>
    <div class="label">
      <div class="icon">
         <i class="fas fa-walking"></i>
      </div>
      <div class="info">
         <div class="main">Blonkisoaz</div>
         <div class="sub">Omuke trughte a otufta</div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: "Card",
  props: {
    img: String
  },
  methods: {
    switchCards () {
       console.log('clicked')
    }
  }
};
</script>
Run Code Online (Sandbox Code Playgroud)

忽略一些占位符脚本。

所以,我试图将v-bind:style="--optionBackground:url(img);"img 作为来自父级的道具传入,component如下所示:

<template>
  <div id="app">
    <div v-for="card) in cards" class="options" v-bind:key="card.id">
      <Card v-bind:img="card.img"/>
    </div>
  </div>
</template>

<script>
import Card from …
Run Code Online (Sandbox Code Playgroud)

sass vue.js

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

Django 部署问题 w/Plesk“没有配置名为‘&lt;&gt;’的 WSGI 守护进程”

我之前已经成功地使用 apache 部署了各种 Django 站点,但我在一台安装了 Plesk 发行版的服务器上。因此,在进行设置时,我部署了一个非常基本的应用程序:

Django 应用程序的基本内容

被涂黑的权限都包含相同的用户名。

但是,error_logs此域的 apache显示以下错误:

2018-09-30 13:55:06 [wsgi:error] No WSGI daemon process called 'daemonuplordvexxos' has been configured: /var/www/vhosts/winduplordvexxos.com/api.winduplordvexxos.com/apiuplordvexxos/wsgi.py
Run Code Online (Sandbox Code Playgroud)

我的其他 apache 指令如下(我设置了 https):

其他 Apache 指令

谷歌搜索生命线No WSGI daemon process called 'daemonuplordvexxos' has been configured已经产生了零运气。

我的wsgi.py文件是 Django 2.1.1 安装的标准:

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'apiuplordvexxos.settings')

application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)

我不确定这是否会帮助任何人诊断我的问题:

名称与之前的 WSGI 守护进程定义重复。

apache mod-wsgi wsgi plesk

5
推荐指数
0
解决办法
1593
查看次数

Django REST 框架:如何用额外的字段包装响应......并在数据字段中提供当前响应

所以,我有以下几点:

class ObjectViewSet(
    mixins.CreateModelMixin,
    mixins.ListModelMixin,
    mixins.RetrieveModelMixin,
    mixins.DestroyModelMixin,
    viewsets.GenericViewSet
):
    """
    REST API endpoints for Objects.
    """
    serializer_class = ObjectSerializer
    queryset = Object.objects.all()
Run Code Online (Sandbox Code Playgroud)

例如,对于列表GET请求,这将返回:

[
    {
        "uuid": "787573a2-b4f1-40df-9e3a-8555fd873461",
    },
    {
        "uuid": "2ab56449-1be1-47d7-aceb-a9eaefa49665",
    }
]
Run Code Online (Sandbox Code Playgroud)

但是,我怎样才能稍微改变这种混合的响应,使其类似于以下内容:

{
    success: true,
    message: 'Some Extra Useful Message',
    data: [
        {
             "uuid": "787573a2-b4f1-40df-9e3a-8555fd873461",
        },
        {
             "uuid": "2ab56449-1be1-47d7-aceb-a9eaefa49665",
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是可能的,还是我应该编写自己的自定义端点Response()而不使用 DRF 的mixins功能?

所以,基本上,切换自定义:

Response(data, status=None, template_name=None, headers=None, content_type=None)
Run Code Online (Sandbox Code Playgroud)

到:


response = {
    'success': true,
    'message': 'Some Extra Useful Message', …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

如何在 Django 中使用 call_command() 在特定数据库上运行迁移?

$ python manage.py migrate app_name --database db_name我只是想知道在运行时调用该函数的正确语法是什么management.call_command()

到目前为止,我有以下内容:

from django.core import management
from django.core.management.commands import migrate

# Migrate the core.contrib.dynamics if needed to the pre-specified database:
management.call_command(migrate.Command(), 'dynamics', '--database {}'.format(DB_NAME))
Run Code Online (Sandbox Code Playgroud)

但是,在调用上述内容时,我在运行时收到以下错误:

Cannot find a migration matching '--database default_node' from app 'dynamics'.
Run Code Online (Sandbox Code Playgroud)

我 99% 确定我可能--错误地调用了参数?谁能指出我正确的方向吗?

动态应用程序的迁移如下:

# Generated by Django 3.0.8 on 2020-07-02 14:28

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='ModelSchema',
            fields=[ …
Run Code Online (Sandbox Code Playgroud)

python django django-migrations django-management-command django-3.0

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

Vuex:在 mapState() 中找不到 [vuex] 模块命名空间 | mapGetters(): X/

根据用于模块化组织商店的 Vuex 文档(https://vuex.vuejs.org/guide/modules.html),我有以下内容:

store/index.js

import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);

// Default Store State for the Hug Employee Dashboard:
// import defaultState from "@/store/defaultStore";

/*eslint no-param-reassign: ["error", { "props": false }]*/
/*eslint indent: ["error", 2]*/
/*eslint arrow-body-style: ["error", "always"]*/
/*eslint-env es6*/

const surfGroups = {
  state: {
    activeSurfGroup: {},
    fetchingSurfGroupLoading: false,
    creatingSurfGroupLoading: false
  },
  getters: {
    activeSurfGroup: state => {
      return state.activeSurfGroup;
    },
  },
  mutations: {
    // API Request Mutations:
    SET_ACTIVE_SURF_GROUP(state, payload) {
      this.activeSurfGroup …
Run Code Online (Sandbox Code Playgroud)

vue.js vuex

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

忽略 SSL 证书验证会产生什么影响?

我有一个关于 Python 请求库中 SSL 验证的问题,但我相信它对我来说更普遍。

我目前忽略证书验证,因为我需要连接的第三方 API使用自签名证书。

在请求中关闭 SSL 验证有何影响?在现实世界中不验证 SSL 证书会产生什么影响。我可以保证传输的数据是安全/加密的吗?

ssl ssl-certificate urllib3 python-3.x python-requests

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