我正在尝试使用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)
由于我正在使用没有图形用户界面的远程服务器,我甚至无法尝试从浏览器登录.
首先,我是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) 我使用以下代码来使用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中.
我试图理解我在 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/mounted。id=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) 我正在使用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) 我使用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上运行,则异常包含所有输出,我可以从那里读取文件.
给定一个类型为 的变量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)
我知道如何使用此处描述的访问者执行相反的操作(转换为超级集变体) ,但该方法不适用于这种情况。
我一直在使用Django Compressor来管理我的咖啡/少文件,它非常适合开发,但是我有一些问题要让它适用于我的生产部署.
我的想法是让apache托管静态文件,可能在另一台服务器上.我设置COMPRESS_OFFLINE = True的settings.py文件.
然后我做以下事情
python manage.py compress- 这将填充CACHE我的目录中的static目录,其中将收集所有静态文件.python manage.py collectstatic- 这会将我项目中所有应用程序(其中一些不使用压缩程序)的静态文件收集到我的static目录中.static目录复制到apache托管的某个地方.并设置apache来提供文件.static_url变量settings.py以指向静态服务器.如果我打开任何页面,我在服务器上收到以下错误,这似乎只发生在我DEBUG = False和COMPRESS_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.
所以,我想这里有两个问题.为什么不起作用?实现这个目标的正确方法是什么?
谢谢.
我的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)
我可以清楚地看到映射存在,为什么它告诉我它不存在?
我有一个外部脚本,它接受一个 Javascript 文件并自动修复一些样式问题,我想在写入 ( BufWritePre,FileWritePre)之前将它应用到当前缓冲区。
所以我的想法是:
w /tmp/foo 将当前缓冲区内容写入临时文件 silent !fixStyle /tmp/foo 在该文件上运行脚本。/tmp/foo问题是我不知道如何做第三步。