小编San*_*idi的帖子

python:traceback.print_stack():如何对输出进行着色和重新格式化

我想查看代码直到特定点的完整跟踪

所以我这样做

...
import traceback
traceback.print_stack()
...
Run Code Online (Sandbox Code Playgroud)

然后就会显示

  File ".venv/lib/python3.7/site-packages/django/db/models/query.py", line 144, in __iter__
    return compiler.results_iter(tuple_expected=True, chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File ".venv/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1052, in results_iter
    results = self.execute_sql(MULTI, chunked_fetch=chunked_fetch, chunk_size=chunk_size)
  File ".venv/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1100, in execute_sql
    cursor.execute(sql, params)
  File ".venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 110, in execute
    extra={'duration': duration, 'sql': sql, 'params': params}
  File "/usr/lib64/python3.7/logging/__init__.py", line 1371, in debug
    self._log(DEBUG, msg, args, **kwargs)
  File "/usr/lib64/python3.7/logging/__init__.py", line 1519, in _log
    self.handle(record)
  File "/usr/lib64/python3.7/logging/__init__.py", line 1528, in handle
    if (not self.disabled) and self.filter(record):
  File "/usr/lib64/python3.7/logging/__init__.py", line …
Run Code Online (Sandbox Code Playgroud)

python pretty-print traceback

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

如何使用 reactJS 作为前端和 django rest 框架作为后端显示大数据列表

我有大量烹饪所需成分的数据列表。超过3000+

我使用 Django rest 框架作为后端,使用 ReactJs 作为前端。

列表中的每个项目都有名称、id、测量单位、密度(kg/ltr)和成本/测量单位

在 Django 中,我创建了一个 api 端点来提供 JSON 格式的数据。

我想以表格格式显示数据,并在顶部使用搜索过滤器。同样,我想最多显示 300 个结果。

有人可以指导我如何实现这一目标。我应该一次获取所有列表还是使用 django 中的分页。我应该使用单独的 api 进行搜索还是在前端使用 reactjs 进行搜索。

目前我在 Django 中不需要任何授权。数据仅供本地使用。

django reactjs

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

Django Trigram:在 Django 中创建 gin 索引并搜索建议词

我有带有标题和描述字段的模型。

我想为标题和描述字段中的所有单词创建一个 GIN 索引

所以我使用 SQL 按以下方式执行此操作:

第 1 步:使用简单的配置创建一个包含标题和描述中所有单词的表格

CREATE TABLE words AS SELECT word FROM  ts_stat('SELECT to_tsvector(''simple'',COALESCE("articles_article"."title", '''')) || to_tsvector(''simple'',COALESCE("articles_article"."description", '''')) FROM "articles_article"');
Run Code Online (Sandbox Code Playgroud)

STEP2:创建GIN索引

CREATE INDEX words_idx ON words USING GIN (word gin_trgm_ops);
Run Code Online (Sandbox Code Playgroud)

第三步:搜索

SELECT word, similarity(word, 'sri') AS sml
  FROM words
  WHERE word % 'sri'
  ORDER BY sml DESC, word;

Result:

word  sml
sri 1
srila 0.5
srimad  0.428571
Run Code Online (Sandbox Code Playgroud)

如何在 DJANGO 中执行此操作,而且我还必须不断更新 GIN 索引

django postgresql trigram

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

postgresql:dockerfile 从入口点脚本创建用户和数据库

我有一个 Dockerfile

COPY ./docker-entrypoint.sh /

RUN chmod +x /docker-entrypoint.sh

USER postgres

ENTRYPOINT ["/docker-entrypoint.sh"]
Run Code Online (Sandbox Code Playgroud)

其中 docker-entrypoint.sh 是:

#!/bin/sh

# Before PostgreSQL can function correctly, the database cluster must be initialized:
initdb -D /var/lib/postgres/data


#start postgres server
/usr/bin/postgres -D /var/lib/postgres/data &


# create a user or role
psql -d postgres -c "CREATE USER someuser WITH PASSWORD 'jkhkjah';" 

# create database 

psql -d postgres -c "CREATE DATABASE dockertest OWNER 'someuser';"
Run Code Online (Sandbox Code Playgroud)

它不会创建 someuser 和 dockertest 数据库。这个怎么做

postgresql docker docker-entrypoint

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

Django:管理界面:如何更改用户密码

在姜戈:

我创建了一个超级用户,可以查看所有用户

我还为我的用户实现了忘记密码,他们可以输入他们的电子邮件,并将密码重置链接发送到他们的电子邮件,然后用户可以重置他的密码

但是管理员如何从管理仪表板更改某些用户密码

python django django-admin

3
推荐指数
4
解决办法
2897
查看次数

pandas:df.loc[-1,col] 有时有效,有时使用 NAN 添加额外行

我有一个熊猫数据框。我正在尝试修改name最后一行中的列值

我尝试

df.loc[-1,'name'] = "something"
Run Code Online (Sandbox Code Playgroud)

这有效

df现在我用查询过滤几行并调用它df_query

我的最后一行df_query

    id  name
21  965 kris
Run Code Online (Sandbox Code Playgroud)

我检查索引-1

df_query.loc['name'].iloc[-1]
Run Code Online (Sandbox Code Playgroud)

它显示“克里斯”

现在df_query我尝试

df_query.loc[-1,'name'] = "something"
Run Code Online (Sandbox Code Playgroud)

它添加了一个额外的行而不是替换krissomething

    id  name
21  965.0 kris
-1  NaN "something"
Run Code Online (Sandbox Code Playgroud)

还将 id 转换为floatfromint

为什么有时有效有时无效

后来搜索后我发现/sf/answers/3465732861/

仅使用 iloc[-1, 'a] 不起作用,因为 -1 不在索引中。

我无法理解上面给出的原因

并说要尝试:

df_query.loc[df_query.loc.index[-1],'name'] = "something"
Run Code Online (Sandbox Code Playgroud)

现在可以了。

有人可以解释发生了什么吗

pandas

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

docker image: openjdk:15: 如何在其中安装 python

我想创建openjdk15和python的镜像

我正在尝试使用 Dockerfile 进行构建

FROM    openjdk:15
RUN yum install -y oracle-epel-release-el7
RUN yum install -y python36
Run Code Online (Sandbox Code Playgroud)

但是当我尝试构建它显示的图像时

/bin/sh: yum: command not found
The command '/bin/sh -c yum install -y oracle-epel-release-el7' returned a non-zero code: 127
Run Code Online (Sandbox Code Playgroud)

我也检查了图像

$ docker run --rm -it --entrypoint ""  openjdk:15 sh -c "cat /etc/os-release"
NAME="Oracle Linux Server"
VERSION="8.3"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.3"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.3"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:3:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.3
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.3
Run Code Online (Sandbox Code Playgroud)

java docker

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

如何禁用reactjs项目中的 prettier 错误以及 no-unsued-vars 错误

当我尝试运行 ReactJS 项目时,我不断收到这些错误

\n
prettier/prettier\n  Line 23:39:  Replace `'react-toastify'` with `"react-toastify"`                                                                                                                                                                                                                                                                                                          prettier/prettier\n  Line 29:59:  Delete `\xe2\x8f\x8e`                                                                                                                                                                                                                                                                                                                                                  prettier/prettier\n
Run Code Online (Sandbox Code Playgroud)\n

以下是我的.eslintrc.js

\n
module.exports = {\n  parser: "babel-eslint",\n  env: {\n    es6: true,\n    node: true,\n    browser: true,\n  },\n  parserOptions: {\n    ecmaVersion: 6,\n    sourceType: "module",\n    ecmaFeatures: {\n      jsx: true,\n    },\n  },\n  plugins: ["react"],\n  extends: [\n    "eslint:recommended",\n    "plugin:react/recommended",\n    "plugin:prettier/recommended",\n  ]\n};\n\n
Run Code Online (Sandbox Code Playgroud)\n

以下是 package.json

\n
{\n  "name": "material-dashboard-react",\n  "version": "1.10.0",\n  "description": "Material Dashboard React. Coded by Creative Tim",\n  "private": false,\n  "main": "dist/index.js",\n  "dependencies": {\n    "@material-ui/core": "4.11.4",\n …
Run Code Online (Sandbox Code Playgroud)

reactjs

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

反应挂钩表单和材料用户界面:成功提交表单后,reset() 不起作用

我正在尝试使用 提交表单react hook forms。提交后我想清除所有字段。我读过有关使用reset(). 但它不起作用

import React, { Fragment } from "react";
import { useForm } from "react-hook-form";
import { yupResolver } from "@hookform/resolvers/yup";
import * as Yup from "yup";
import "react-toastify/dist/ReactToastify.css";

import {
  Paper,
  Box,
  Grid,
  TextField,
  Typography,
  Button,
} from "@material-ui/core";

export default function ResetPassword() {
  const validationSchema = Yup.object().shape({
    old_password: Yup.string().required("Password is required"),
    new_password1: Yup.string().required("Password is required"),
    new_password2: Yup.string().required("Password is required"),
  });

  const { register, handleSubmit, reset } = useForm({
    resolver: yupResolver(validationSchema),
  }); …
Run Code Online (Sandbox Code Playgroud)

material-ui react-hook-form

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

gitlab CI/CD 如何执行多行命令,如图所示

我想在 gitlabl CI/CD 中执行如下命令

ssh $DEPLOY_USER@$DEPLOY_HOST <<'ENDSSH'                                                                    
set -x -o verbose;
execute some command here
set +x
ENDSSH
Run Code Online (Sandbox Code Playgroud)

如何在脚本中添加此类命令

deploy-to-stage:
  stage: deploy
  before_script:
    - "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )"
    - eval $(ssh-agent -s)
    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
  script:
    - …
Run Code Online (Sandbox Code Playgroud)

gitlab-ci

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