小编igs*_*gsm的帖子

在Dockerfile中激活python virtualenv

我有一个Dockerfile,我尝试激活python virtualenv之后,它应该在这个环境中安装所有依赖项.但是,一切仍然在全球范围内安装.我使用了不同的方法,但没有使用它们.我也没有任何错误.哪里有问题?

1. ENV PATH $PATH:env/bin

2. ENV PATH $PATH:env/bin/activate

3. RUN . env/bin/activate

我还在Google Cloud上关注了python-runtime图像的Dockerfile配置示例,这与上面的内容基本相同.

设置这些环境变量与运行source/env/bin/activate相同.

ENV VIRTUAL_ENV /env

ENV PATH /env/bin:$PATH

此外,ENV VIRTUAL_ENV /env它是什么意思和使用方式?

python virtualenv docker dockerfile

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

如何在 Google Cloud Platform 上进行 Django 迁移?

我想在 Google App Engine 上托管我的应用程序,并拥有一个用于数据库的 Google SQL 实例。该应用程序的主要部分是使用 Django Rest Framework 构建的 API。当我需要修改数据库的架构时,我向 Google Cloud 支持人员询问了在生产中进行迁移的最佳实践。由于我是 Web 开发的新手,也许这里的任何专家都有类似的经验,并且可以验证建议的过程是否是我真正可以遵循的?

对于数据库迁移最佳实践,您可以为 Cloud SQL 数据库创建单独的开发/测试/备份实例。例如,假设您的生产数据库实例是 DB1,创建一个开发实例 DB2,其中包含 DB1 的所有表。之后,将您的应用程序配置为临时指向 DB2 实例。请确保两个实例同步并更新。然后,部署指向 DB2 的应用程序的新版本,以便您可以将 DB1(添加新表、列)更新为生产环境中的官方数据库实例。然后您可以再次将其指向 DB1 并更新 DB2。

django google-app-engine google-cloud-sql google-cloud-platform

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

在BigQuery中查询点击量和自定义维度?

我正在使用BigQuery中的GoogleAnalytics数据。我想输出2列:特定事件操作(点击)和自定义维度(基于会话)。所有这些,使用标准SQL。我不知道该怎么做。文档也没有帮助。请帮我。这是我正在尝试的:

SELECT
  (SELECT MAX(IF(index=80, value, NULL)) FROM UNNEST(customDimensions)) AS is_app,
  (SELECT hits.eventInfo.eventAction) AS ea
FROM  
  `table-big-query.105229861.ga_sessions_201711*`, UNNEST(hits) hits
WHERE 
  totals.visits = 1
  AND _TABLE_SUFFIX BETWEEN '21' and '21'
  AND EXISTS(SELECT 1 FROM UNNEST(hits) hits
    WHERE hits.eventInfo.eventCategory = 'SomeEventCategory'
  )
Run Code Online (Sandbox Code Playgroud)

sql google-analytics google-bigquery bigquery-standard-sql

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

如何在 Django REST Serializer 中标准化电子邮件字段值?

总的来说,我对 Django 很陌生,所以请不要严厉地评判我。

我有一个自定义用户模型,并使用 DRF 来创建用户配置文件。我在create_user(BaseUserManager 的方法)中规范化电子邮件。我找不到如何标准化 API 序列化程序中电子邮件字段的值的方法。基本上,如果我传递数据库中已存在的电子邮件,但域中仅包含大写字母,它将通过序列化程序的验证,但在以下情况后会遇到完整性错误:

duplicate key value violates unique constraint "accounts_user_email_key" DETAIL: Key (email)=(email@example.com) already exists.

这是我的UserManager方法的简化版本:

class UserManager(BaseUserManager):

    def create_user(self, email, first_name, last_name, password):
        #some validation logic
        #...
        user = self.model(
            email=self.normalize_email(email),
            first_name=first_name,
            last_name=last_name
        )
        user.set_password(password)
        user.save()
        return user

    #other stuff...
Run Code Online (Sandbox Code Playgroud)

这是一个序列化器本身:

class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = models.User
        fields = ('email', 'first_name', 'last_name', 'password')
        extra_kwargs = {k: {'write_only': True} for k in fields}

    #some password validation...

    def create(self, …
Run Code Online (Sandbox Code Playgroud)

python django django-serializer django-rest-framework

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