小编Jua*_*hin的帖子

如何避免谷歌邮件服务器要求我通过浏览器登录?

我正在尝试使用Google Apps配置的电子邮件从Django发送电子邮件,我在settings.py文件中的配置如下所示:

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'contact@mydomain.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下方式发送电子邮件时:

from django.core.mail import send_mail

send_mail("Happy new year", "We wish you the best for 3001",
    "contact@mydomain.com", ["someuser@gmail.com"])
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

SMTPAuthenticationError: 
(535, '5.7.1 Please log in with your web browser and then try again. 
 Learn more at
 5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754 k2sm758604obl.14')
Run Code Online (Sandbox Code Playgroud)

由于我正在使用没有图形用户界面的远程服务器,我甚至无法尝试从浏览器登录.

email gmail captcha google-apps

39
推荐指数
6
解决办法
5万
查看次数

在android上创建两次活动

首先,我是Android开发的新手,所以请耐心等待我.

我将从UI开始,我有一个按钮,一旦你点击它,开始一个活动的结果.

public class GUIActivity extends Activity

    @Override
    public void onClick(....){
        Intent intent = new Intent(getApplicationContext(), GetImageActivity.class);
        intent.putExtra("action", FROM_CAMERA);
        startActivityForResult(intent, GET_IMAGE);
    }

    @Override
    onActivityResult(int requestCode, int resultCode, Intent data){
        Log(TAG, "onActivityResult");
        //handle result
    }

}
Run Code Online (Sandbox Code Playgroud)

GetImageActivity类是其他两项活动的包装,一个从摄像机捕获和其他的图像从库中得到它.它返回所选图像的Uri对象.

public class GetImageActivity extends Activity{
    private Uri mediaUri;

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        Bundle extras = getIntent().getExtras();
        int action =  extras.getInt("action");

        Log.d(TAG, "onCreate");

        switch(action){
            case FROM_CAMERA:
                mediaUri = Uri.fromFile(new File(....));
                Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
                intent.putExtra(MediaStore.EXTRA_OUTPUT, mediaUri);

                Log.d(TAG, "Calling camera activity" …
Run Code Online (Sandbox Code Playgroud)

java android

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

使用PIL调整图像大小会彻底改变颜色

我使用以下代码来使用PIL调整图像大小

img = Image.open("in.png")
resized = ImageOps.fit(img, (200, 200), method=Image.ANTIALIAS)
resized.save("out.png")
Run Code Online (Sandbox Code Playgroud)

但输出图像颜色看起来非常不同.在这里他们是为了比较,最重要的是原始的:

在此输入图像描述 在此输入图像描述

更奇怪的是,当我使用ubuntu中的图像查看器打开它们时,它们看起来是一样的.但不是在Windows或MacOS中.

python image-processing python-imaging-library

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

如何在docker中保持已安装卷的所有权一致?

我试图理解我在 docker 上看到的一些奇怪的行为。我想运行一个容器,它将缓存的数据从主机写入已安装的卷,稍后我可以将其重新用于容器的未来执行,并且也可以从主机读取数据。

在主机上,我看到我的用户具有用户 id 1000

# This is on the host
$ id
uid=1000(juan-munoz) gid=1000(juan-munoz) groups=1000(juan-munoz)...
Run Code Online (Sandbox Code Playgroud)

我正在运行容器,没有为用户提供任何特殊标志,因此它运行为root

# This is on the container
$ id
uid=0(root) gid=0(root) groups=0(root)
Run Code Online (Sandbox Code Playgroud)

此外,已经有一个用户id=1000

# The image is provided by AWS and apparently it includes a user with this ID
$ id -nu 1000
ec2-user
Run Code Online (Sandbox Code Playgroud)

我已经安装了一个目录-v /some/local/directory:/var/mountedid=1000在本地,该目录由我的用户 ( )拥有:

# On the host
ls -ld /some/local/directory
drwx------ 2 juan-munoz juan-munoz 4.0K Jun 21 16:21 /some/local/directory …
Run Code Online (Sandbox Code Playgroud)

docker

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

不能使用面料 - 是否需要任何服务器配置?

我正在使用fabric机架空间服务器远程部署我的应用程序.我在家用计算机上使用相同的操作系统(Ubuntu Server 10.04)在虚拟机上尝试过我的脚本,它们似乎都可以工作.

奇怪的是,所有put结构命令都在真实服务器上失败.所有其它命令(run,cd,sudo等),似乎工作正常.

这只在针对此特定服务器时发生,这是我执行的命令:

fab test --host remote-server
Run Code Online (Sandbox Code Playgroud)

remote-server是我的别名.ssh/config.我的fabfile:

@task
def test():
    sudo("echo testing")
    put("/tmp/file.txt", "/tmp/")
Run Code Online (Sandbox Code Playgroud)

tmp/test_file.txt 只是我用于测试的文本文件

这是输出

[remote-server] Executing task 'test'
[remote-server] sudo: echo testing
[remote-server] out: testing

Traceback (most recent call last):
  File "/home/user/env/lib/python2.6/site-packages/fabric/main.py", line 712, in main
    *args, **kwargs
  File "/home/user/env/lib/python2.6/site-packages/fabric/tasks.py", line 298, in execute
    multiprocessing
  File "/home/user/env/lib/python2.6/site-packages/fabric/tasks.py", line 197, in _execute
    return task.run(*args, **kwargs)
  File "/home/user/env/lib/python2.6/site-packages/fabric/tasks.py", line 112, in run
    return …
Run Code Online (Sandbox Code Playgroud)

python ubuntu fabric

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

使用plumbum捕获前台命令的错误输出

我使用plumbum python库(http://plumbum.readthedocs.org/)作为shell脚本的替代品.

有一个我想要运行的命令,当它失败时它会输出我感兴趣的文件的路径:

$ slow_cmd
Working.... 0%
Working.... 5%
Working... 15%
FAIL. Check log/output.log for details
Run Code Online (Sandbox Code Playgroud)

我想在前台运行程序来检查进度:

from plumbum.cmd import slow_cmd

try:
    f = slow_cmd & FG
except Exception, e:
    print "Something went wrong."

# Need the error output from f to get the log file :(    
Run Code Online (Sandbox Code Playgroud)

slow_cmd失败时,它抛出异常(我可以捕获).但我无法从异常或f未来对象获取错误输出.

如果我没有slow_cmd在FG上运行,则异常包含所有输出,我可以从那里读取文件.

python plumbum

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

将 std::variant 转换为具有类型子集的另一个 std::variant

给定一个类型为 的变量std::variant<A,B,C>,我检查它包含C. 我怎样才能将它转换为 a std::variant<A,B>

std::variant<A,B> convert(std::variant<A,B,C> value) {
  if (std::holds_alternative<C>(value)) {
    // die.
  }

  return ... // what to do here?
}
Run Code Online (Sandbox Code Playgroud)

我知道如何使用此处描述的访问者执行相反的操作(转换为超级集变体) ,但该方法不适用于这种情况。

c++

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

如何使用django压缩器与apache?

我一直在使用Django Compressor来管理我的咖啡/少文件,它非常适合开发,但是我有一些问题要让它适用于我的生产部署.

我的想法是让apache托管静态文件,可能在另一台服务器上.我设置COMPRESS_OFFLINE = Truesettings.py文件.

然后我做以下事情

  • python manage.py compress- 这将填充CACHE我的目录中的static目录,其中将收集所有静态文件.
  • python manage.py collectstatic- 这会将我项目中所有应用程序(其中一些不使用压缩程序)的静态文件收集到我的static目录中.
  • static目录复制到apache托管的某个地方.并设置apache来提供文件.
  • 修改文件中的static_url变量settings.py以指向静态服务器.

如果我打开任何页面,我在服务器上收到以下错误,这似乎只发生在我DEBUG = FalseCOMPRESS_OFFLINE = True我的settings.py文件上:

TemplateSyntaxError:夹缝OfflineGenerationError同时呈现:您已启用脱机压缩,但关键"777ba26736d046ab043dc151e7e9a060"从离线清单丢失.您可能需要运行"python manage.py compress".

当我检查static/CACHE目录时,我确认错误是什么,这是我的manifest.json文件:

{
  "6189b8598993d1cbdbd35d4dfd1a6711": "<script type=\"text/javascript\" src=\"http://192.168.1.123/CACHE/js/2f6ca6616bd6.js\"></script>",
  "5c66dbed0e5b766c6e32773cd8585f3c": "<link rel=\"stylesheet\" href=\"http://192.168.1.123/CACHE/css/154d95903951.css\" type=\"text/css\" />"
}
Run Code Online (Sandbox Code Playgroud)

如果我删除CACHE目录并重新运行python manage.py compress,我会在错误消息和清单文件上获得一组新ID,但清单上仍然缺少错误ID.

所以,我想这里有两个问题.为什么不起作用?实现这个目标的正确方法是什么?

谢谢.

apache django django-compressor

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

无法从 VIM 中删除映射?

我的vim配置为sql与我自己冲突文件类型。

我可以使用以下命令验证它:

:imap <C-c>a

i  <C-C>a      *@<C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>
Run Code Online (Sandbox Code Playgroud)

我想删除它,但如果我尝试失败:

:unmap <C-C>a
E31: No such mapping

:iunmap <C-C>a
E31: No such mapping
Run Code Online (Sandbox Code Playgroud)

我可以清楚地看到映射存在,为什么它告诉我它不存在?

vim

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

如何用文件的内容替换当前缓冲区的内容?

我有一个外部脚本,它接受一个 Javascript 文件并自动修复一些样式问题,我想在写入 ( BufWritePre,FileWritePre)之前将它应用到当前缓冲区。

所以我的想法是:

  • w /tmp/foo 将当前缓冲区内容写入临时文件
  • silent !fixStyle /tmp/foo 在该文件上运行脚本。
  • 将当前缓冲区的内容替换为 /tmp/foo

问题是我不知道如何做第三步。

vim

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