小编Phi*_*tua的帖子

Flutter插件未安装错误;跑扑医生时

我正在SDKLinux Ubuntu 16.4系统上配置flutter 。运行扑医生时为什么出现以下错误?我已经指定了PATHSflutterdart.bashrc但是当我跑我得到这个错误flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel beta, v0.5.1, on Linux, locale en_US.UTF-8)
[?] Android toolchain - develop for Android devices (Android SDK 28.0.2)
[?] Android Studio (version 3.1)
    ? Flutter plugin not installed; this adds Flutter specific functionality.
    ? Dart plugin not installed; this adds Dart specific functionality.
[?] IntelliJ IDEA Community Edition (version 2018.2)
[!] …
Run Code Online (Sandbox Code Playgroud)

dart flutter

28
推荐指数
14
解决办法
2万
查看次数

如何正确安装NeoVim中的插件

NeoVim是否拥有自己的配置文件,就像vim 一样.vimrc?如果是这样,我在哪里可以获取主目录中的该文件以进行我自己的自定义更改.

neovim

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

按照最佳做法正确地将API密钥存储在抖动中

如果我想将代码推送到github上,这是在flutter中添加秘密API密钥的正确方法(最佳实践)。我已经制作了一个使用API​​的简单应用程序,但是我以粗鲁的方式使用了该密钥,只是为了测试该应用程序是否正常工作。通常,根据我在后端开发应用程序的经验,密钥存储在某个位置和其他文件中,然后将其简单地导入到需要的所需文件中,API_KEY并将文件中的.gitignore文件排除在外。

到目前为止,我还实现了这种方法:

文件夹树

-lib
  -auth
    -keys.dart
    -secrets.json 
Run Code Online (Sandbox Code Playgroud)

secrets.json

在这里,我将添加,KEY.gitignore在推送代码时指定此文件被排除在github中之外。

//Add API KEY HERE
{
  "api_key": "ee4444444a095fc613c5189b2"
}
Run Code Online (Sandbox Code Playgroud)

keys.dart

import 'dart:async' show Future;
import 'dart:convert' show json;
import 'package:flutter/services.dart' show rootBundle;


class Secret {
  final String apikey;

  Secret({this.apikey=""});

  factory Secret.fromJson(Map<String, dynamic>jsonMap){
    return new Secret(apikey:jsonMap["api_key"]);
  }
}


class SecretLoader {
  final String secretPath;

  SecretLoader({this.secretPath});
  Future<Secret> load() {
    return rootBundle.loadStructuredData<Secret>(this.secretPath,
            (jsonStr) async {
          final secret = Secret.fromJson(json.decode(jsonStr));
          return secret;

        });
  }
}
Run Code Online (Sandbox Code Playgroud)

我觉得这种方法太多了。我希望获得更好方法的建议。

dart flutter

10
推荐指数
4
解决办法
3769
查看次数

运行 docker build 时 npm run build 失败

当我运行 docker build 时出现错误。问题是当 docker 运行时npm install -f,最初我将命令更改为,npm install但问题仍然存在。日志太长,我无法将其发布到此处以获取更多详细信息。下面是日志的片段,日志的最后一部分未能完成构建。我还包括了Dockerfile.

注意: 当我npm run build在我的机器上本地运行时,它工作得很好,尝试更改npm run build --aotnpm run buildin Dockerfile,但问题仍然存在。

日志

Generating ES5 bundles for differential loading...
An unhandled exception occurred: [BABEL] /app/dist/e-county/src-app-receipting-receipting-module-es2015.js: Could not find plugin "proposal-numeric-separator". Ensure there is an entry in ./available-plugins.js for it. (While processing: "/app/node_modules/@babel/preset-env/lib/index.js")
See "/tmp/ng-j8ToFT/angular-errors.log" for further details.
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file …
Run Code Online (Sandbox Code Playgroud)

npm docker npm-install angular

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

如何在 Django 中等待 celery 任务的结果

我有一个 celery 任务,它将数据发送到另一个服务。我已将芹菜任务添加send_inventory_requestRequestSupplyStock基于类的视图中。当我发帖时,我应该首先从 celery 任务获取结果,然后继续并返回响应。我想首先等待 celery 任务的结果,然后从 post 方法返回响应,这是实现此目的的正确方法。

@app.task
def send_inventory_request(payload,token):
    auth = {'authorization':token}
    HEADERS.update(auth)
    url = PROCUREMENT_SUPPLY_STOCK_REQUESTS_URL
    res = requests.post(url,json=payload,headers=HEADERS)
    inventory_request_data = res.json()
    x= logger.info('Supply Stock Request {0} + {1}'.format(payload,token))
    print(x)
    return inventory_request_data 
Run Code Online (Sandbox Code Playgroud)

看法

class RequestSupplyStock(generics.CreateAPIView):

      def post(self, request, format=None):
          ........

          send_inventory_request.delay(payload,get_token(request))

          .........
          return Response(status=status.HTTP_201_CREATED)
Run Code Online (Sandbox Code Playgroud)

python django celery celery-task django-rest-framework

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

运行 docker-compose up 后数据库权限被拒绝

运行后出现以下错误docker-compose up。我该如何解决这个问题?

db_1          | chown: changing ownership of '/var/lib/mysql/': Permission denied
db_1          | chown: changing ownership of '/var/lib/mysql/@0020liquordb': Permission denied
db_1          | chown: changing ownership of '/var/lib/mysql/@0020liquordb/db.opt': Permission denied
db_1          | chown: changing ownership of '/var/lib/mysql/auto.cnf': Permission denied
db_1          | chown: changing ownership of '/var/lib/mysql/ca-key.pem': Permission denied
db_1          | chown: changing ownership of '/var/lib/mysql/ca.pem': Permission denied
db_1          | chown: changing ownership of '/var/lib/mysql/client-cert.pem': Permission denied
db_1          | chown: changing ownership of '/var/lib/mysql/client-key.pem': Permission denied
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM python:3.7


ENV …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose

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

实现prefetch_related()方法后如何追加键和值

我已经实现了一个基于类的视图,其中包含一个GET获取每个工资单细节的方法id.如何将其添加到net_allowance工资单中,object以便JSON看起来像这样:

{
    "employee__user__id": 2,
    "payslip_no": "GGT5698",
    "employee__user__first_name": "Nick",
    "basic_salary__salary_value": 80000.0,
    "net_allowances": 5400.0,
    "total_deductions": 2500.0,
    "payment_mode__name": "Bank",
    "month_ending": "2018-03-16",
    "employee__user__last_name": "Cannon"
}



class PayrollView(APIView):

    def get(self, request, pk, format=None):
        try:

            payslip = Payslip.objects.filter(id=pk).prefetch_related('user', 'employee').values(
                'payment_mode__name', 'payslip_no', 'allowances__amount', 'deductions__amount', 'month_ending', 'basic_salary__salary_value', 'employee__user__last_name', 'employee__user__first_name', 'employee__user__id'
            )

            net_allowance = payslip.aggregate(
                net_allowance=Sum('allowances__amount'))
        except Exception as e:
            # print(e)
            return Response(data=e, status=status.HTTP_400_BAD_REQUEST)
        return Response(data=payslip, status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)

django django-views python-3.x django-rest-framework

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

在 Django Rest Framework 中正确更新嵌套序列化程序

我正在django rest framework尝试对嵌套序列化程序实现更新方法。如何正确实现嵌套序列化程序的更新方法?

我正在尝试更新现有员工,但收到以下回复:

{
    "user": {
        "username": [
            "A user with that username already exists."
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我在序列化程序上实现了一个更新方法,只是为了更新用户字段。

class EmployeeUpdateSerializer(serializers.ModelSerializer):
    user = UserSerializer()
    contract_type = ContractSerializer(read_only=True)
    company = CompanySerializer(read_only=True)
    job_title = JobSerializer(read_only=True)
    department = DepartmentSerializer(read_only=True)
    skill = SkillSerializer(read_only=True)
    unit = UnitSerializer(read_only=True)

    class Meta:
        model = Employee
        fields = ['id', 'user', 'hr_number', 'nssf_no', 'nhif_no', 'induction_date',
                  'induction_date', 'contract_type', 'company',
                  'tax_id_number', 'joining_date', 'job_title', 'skill', 'unit',
                  'department', 'identification_number', 'is_manager', 'active']

    def update(self, instance, validated_data):
        user = validated_data.get('user')
        instance.user.first_name = user.get('first_name') …
Run Code Online (Sandbox Code Playgroud)

python django django-views python-3.x django-rest-framework

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

EOFError:封送数据太短

为什么我在运行 django 服务器时会出现以下错误,我该如何解决?:

EOFError: marshal data too short
Run Code Online (Sandbox Code Playgroud)

细节

Performing system checks...

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f6e5dbacea0>
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/django/utils/autoreload.py", line 227, in wrapper
    fn(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/django/core/management/commands/runserver.py", line 125, in inner_run
    self.check(display_num_errors=True)
  File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 359, in check
    include_deployment_checks=include_deployment_checks,
  File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 346, in _run_checks
    return checks.run_checks(**kwargs)
  File "/usr/local/lib/python3.5/dist-packages/django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/usr/local/lib/python3.5/dist-packages/django/core/checks/urls.py", line 16, in check_url_config
    return check_resolver(resolver)
  File "/usr/local/lib/python3.5/dist-packages/django/core/checks/urls.py", line 26, in check_resolver …
Run Code Online (Sandbox Code Playgroud)

python django python-3.x

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

How do I multiply values in a query set in django correctly

I want to multiply two values in a queryset how do I achieve this: This is what I have :

def get_adjustment(self):
        Adjustment.objects.filter(employee_month_id=1,adjustment_type=2)
        .values('exchange_rate','amount').aggregate(Sum('amount', field="exchange_rate*amount") 
Run Code Online (Sandbox Code Playgroud)

django python-3.x django-rest-framework

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

修复:InvalidAlgorithmError:尝试在 Python 中解码编码的 jwt 令牌时不允许指定的 alg 值

我正在尝试解码从授权服务收到的令牌。问题是当我尝试解码它时,我得到InvalidAlgorithmError: the specified alg value is not allowed.

当你看下面的图片时。我可以从jwt.io站点解码令牌并查看有效负载。

我正在使用PyJwt库。您将在下面找到我的实现。

jwt.io 站点中的解码令牌

在此处输入图片说明

执行

import jwt 

    encoded = "eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJERVZFTE9QRVIiLCJ1c2VyZnVsbG5hbWUiOiJFcmljIE0gS2FyaW1pIiwidXNlcm5hbWUiOiJlcmljIiwidXNlcmlkIjoiMjkiLCJleHAiOjE1NzM0ODE0MzIsImlzcyI6IkVyaWMiLCJhdWQiOiJSZWFkZXJzIn0.tTQckIZGYNHE667NXrxT4YwT4DNZ01u3P3b3IMFyWR4"

    key = "somekeyrequiredtodecode"

    decoded = jwt.decode(encoded,key, algorithms=['HS256'])  
Run Code Online (Sandbox Code Playgroud)

完整堆栈跟踪

~/Desktop/APIs/ncc-api/env/lib/python3.6/site-packages/jwt/api_jws.py in decode(self, jwt, key, verify, algorithms, options, **kwargs)
    154         elif verify_signature:
    155             self._verify_signature(payload, signing_input, header, signature,
--> 156                                    key, algorithms)
    157 
    158         return payload

~/Desktop/APIs/ncc-api/env/lib/python3.6/site-packages/jwt/api_jws.py in _verify_signature(self, payload, signing_input, header, signature, key, algorithms)
    214 
    215         if algorithms is not None and alg not in algorithms:
--> 216 …
Run Code Online (Sandbox Code Playgroud)

django python-3.x django-rest-framework pyjwt

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

如何使用 select_related

我如何使用select_related下面的员工类的名字和姓氏。

class Employee(models.Model):
    """
    Model, which holds general information of an employee.

    """
    user = models.OneToOneField(User, related_name='users',
                                on_delete=models.CASCADE, unique=True)
    photo_logo = models.FileField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

这是我实现查询的方式

emp=Employee.objects.filter(pk=1).select_related('user').values('user_first_name','user_last_name','id')
Run Code Online (Sandbox Code Playgroud)

但是在运行打印语句后我得到以下日志 django shell

Cannot resolve keyword 'user_first_name' into field. Choices are: address, address_id, attendance, basic,
Run Code Online (Sandbox Code Playgroud)

django django-queryset python-3.x

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

如何在角料中自动关闭小吃店

我已经实现了一个小吃店,当用户登录时,无论登录成功还是不成功,他/她都会从小吃店收到通知。在我的实现中,小吃店出现,用户可以点击关闭,小吃店就会消失。如何自动关闭小吃店?

  onSubmit() {
    this.isLoggedInError = true;
    // console.log(this.username);
    this.userService.login(this.username, this.password)
      .subscribe((res: any) => {
        // console.log(res);
        this.isLoggedInError = false;
        // console.log("HERE IS THE res")
        // console.log(res.token);
        // this.logInresponsePayload = res;
        // localStorage.setItem('username', res.username);
        localStorage.setItem('userToken', res.token);

        localStorage.setItem('userRoles', res.roles_list);
        // this.router.navigate(['/dashboard']);
        // console.log(res.token);

        // console.log(res.status_code);

        // Add ROLES : Predefine roles  add check 
        if (res.token === null ) {
          const  message = 'Wrong credentials provided!';
          this.snackbar.open(message, 'Dismiss');
          // this.router.navigate(['/']);

          // this.router.navigate(['/dashboard']);
        } else {
          // console.log("print 200")
          const msg = 'Login successfull!'; …
Run Code Online (Sandbox Code Playgroud)

angular-material angular angular8

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