小编mas*_*cai的帖子

未设置 Docker-compose 环境变量

项目树

/backend
  .env.dev
  docker-compose-dev.yml
  /project
Run Code Online (Sandbox Code Playgroud)

我有以下警告:

docker-compose  -f docker-compose-dev.yml up --build # i am in the /backend directory

WARNING: The DB_USER variable is not set. Defaulting to a blank string.
WARNING: The DB_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The DB_NAME variable is not set. Defaulting to a blank string.
Run Code Online (Sandbox Code Playgroud)

这意味着 docker compose 看不到我的环境文件。我该如何修复它?

docker-compose-dev.yml

services:
  django:
    build: ./project # path to Dockerfile
    command: sh -c " 
      sleep 3 && gunicorn -w 8 --bind 0.0.0.0:8800 core_app.wsgi" …
Run Code Online (Sandbox Code Playgroud)

python django docker docker-compose

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

Rust 生命周期:这两种类型声明为不同的生命周期

我正在学习 Rust 中的字符串。我想实现函数来计算字符串列表中的长公共前缀。

我的代码

impl Solution {
    pub fn get_common_prefix(s1: &String, s2: &String) -> String {
        let mut idx: usize = 0;
        if s1.len() > s2.len() {
            std::mem::swap(&mut s1, &mut s2);
        }
        
        while idx < s1.len() && s1.chars().nth(idx) == s2.chars().nth(idx) {
            idx += 1;    
        }
        return s1[0..idx].to_string();
        
        
    }
    pub fn longest_common_prefix(mut strs: Vec<String>) -> String {
        strs.sort();
        let mut longest_pref = strs[0];
        for i in 0..strs.len() {
            longest_pref = Self::get_common_prefix(&longest_pref, &strs[i]);
        }
        return longest_pref;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个错误。您能帮忙修复一下吗?

Line 5, Char …
Run Code Online (Sandbox Code Playgroud)

rust

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

Python-poetry 错误:设置 settings.virtualenvs.in-project 不存在

我正在设置poetry在项目目录中创建虚拟环境。我进入了:

诗歌配置 settings.virtualenvs.in-project true

并收到错误

[ValueError] 设置 settings.virtualenvs.in-project 不存在

还有文字

home/alex/.poetry/lib/poetry/_vendor/py2.7/subprocess32.py:149: RuntimeWarning: _posixsubprocess 模块未被使用。如果您的程序使用线程,子进程的可靠性可能会受到影响。“程序使用线程。”,运行时警告)

我该如何解决错误?

似乎错误与python的版本有关。

我使用的是 Ubuntu 16.04 版本

诗歌版本1.0.5

python python-poetry

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

Django:如何覆盖唯一验证器错误消息?

我有一个自定义用户模型类

\n
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager\n\nclass CustomUser(AbstractBaseUser, PermissionsMixin)\n    ...\n    email = models.EmailField(_('email address'), unique=True)\n    user_name = models.CharField(max_length=150, unique=True) # Full name\n    phone_number = models.CharField(max_length=20, unique=True)\n
Run Code Online (Sandbox Code Playgroud)\n

及相关视图

\n
class CustomUserViewSet(viewsets.ModelViewSet):\n    pagination_class = BasePagination\n    queryset = CustomUser.objects.all()\n    ...\n\n    def create(self, request, *args, **kwargs):\n        serializer = CustomUserSerializer(data=request.data)\n\n        if serializer.is_valid():\n            user = serializer.save()\n            if user:\n                json = serializer.data\n                send_invitation_email(\n                    user=user,\n                    email=json["email"],\n                    password=request.data["password"],\n                    phone=json["phone_number"]\n                )\n                create_chats(user)\n                return Response(json, status=status.HTTP_201_CREATED)\n        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)\n
Run Code Online (Sandbox Code Playgroud)\n

如果电子邮件、用户名重复,我会收到以下错误消息:

\n
\n

{"user_name":["自定义用户 \xd1\x81 \xd1\x82\xd0\xb0\xd0\xba\xd0\xb8\xd0\xbc 用户名 \xd1\x83\xd0\xb6\xd0\xb5 \xd1\ …

authentication django django-models django-rest-framework

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

Rust 中的标记特征是什么?

我正在学习 Rust,想深入研究标记特征。官方文档的定义对我来说不清楚: https: //doc.rust-lang.org/std/marker/index.html

定义:

代表类型基本属性的原始特征和类型。Rust 类型可以根据其内在属性以各种有用的方式进行分类。这些分类被表示为特征。

  1. 为什么我们定义一组特殊的特征并将其称为“标记特征”?这些特征有何特别之处?

  2. 我是否正确理解所有这些特征都有默认实现,并且我们可以在不实现的情况下为自定义结构派生这些特征?

您能举例回答吗?

traits rust

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

Rust 重写函数参数

我正在学习 Rust。并调查例子。为什么代码输出1?我的代码:

struct S {
    f: fn(),
}

impl S {
    fn f(&self) {
        print!("1");
    }
}


fn main() {
    let f2 = || print!("2");
    let s = S{f: f2};
    s.f(); // prints 1, but I expected 2

}


Run Code Online (Sandbox Code Playgroud)

rust

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

如何在C++中创建日期对象?

在 C++ 中创建 Date 对象的正确方法是什么?我想要这个 python 代码的 C++ 类比:

import datetime

x = datetime.date(2020, 5, 17)
delta = datetime.timedelta(days=1)
x = x + delta
Run Code Online (Sandbox Code Playgroud)

我正在阅读有关 chrono 的内容,只发现 time_point https://en.cppreference.com/w/cpp/chrono/time_point

但我没有看到这样的构造函数date(year=2020, month=1, day=2)

c++ c++-chrono

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

我们是否违反了严格别名规则?

这段代码中是否存在严格别名规则违规?我认为int->charint->std::byte都可以,但是呢int8_t

int main() {
    int arr[8] = {1, 1, 1, 1, 1, 1, 1, 1}; // Little endian: 10000000 | 10000000 ....
    int8_t *ptr = (int8_t*)arr; // Do we have a violation of the Strict Aliasing rule in this cast?
    ptr += 3; // 100[0]0000 ....

    cout << (int)*ptr << endl; // outputs 0
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

c++ strict-aliasing language-lawyer

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

如何在 Rust 中使用自定义比较器?

我正在尝试借助自定义比较器对向量进行排序。在 Rust 中执行此操作的正确方法是什么?

我的代码

use std::cmp::Ordering;

fn main() {
    let mut v = vec![0, -4, 1, 2, 3];
    v.sort_by(|a, b| { 
        if a.abs() < b.abs() {
            return Ordering::Less;
        }
        return  Ordering::Greater;
    });
    println!("{:?}", v);
}
Run Code Online (Sandbox Code Playgroud)

我有一个错误

error[E0599]: no method named `abs` found for reference `&{integer}` in the current scope
 --> src/main.rs:6:14
  |
6 |         if a.abs() < b.abs() {
  |              ^^^ method not found in `&{integer}`
Run Code Online (Sandbox Code Playgroud)

comparator rust

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

为什么我们有两种方法来包含 serde_derive?

我现在正在学习 rust serde 库,想了解这两种包含序列化/反序列化功能的方法有什么区别

正确的方法是什么(在生产代码中使用)?

实施例1

# Cargo.toml

serde = { version = "1.0", features = ["derive"] }
Run Code Online (Sandbox Code Playgroud)

我这种情况我必须使用use serde::{Deserialize, Serialize};

实施例2

# Cargo.toml
[dependencies]
serde = {version="1.0.117"}
serde_derive = {version="1.0.117"}
Run Code Online (Sandbox Code Playgroud)

我这种情况我必须使用use serde_derive::{Deserialize, Serialize};

rust serde

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