小编dar*_*rse的帖子

服务器不支持STARTTLS扩展 - 尝试通过Django和私人电子邮件地址发送电子邮件时出现此错误

我使用namecheap.com注册了域名和私人电子邮件.我正在尝试通过此私人电子邮件发送电子邮件.但是,我在标题中收到错误.

在我的settings.py中,我有以下设置:

EMAIL_HOST = 'mail.privateemail.com'
EMAIL_HOST_USER = 'contact@mysite.com'
EMAIL_HOST_PASSWORD = 'my password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
Run Code Online (Sandbox Code Playgroud)

我试图通过视图发送电子邮件:

send_mail(
    'Subject here',
    'Here is the message.',
    'contact@mysite.com',
    ['myname@gmail.com'],
    fail_silently=False,
)
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

SMTPException at /
STARTTLS extension not supported by server.
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?任何帮助表示赞赏.

编辑

将EMAIL_USE_TLS更改为False,并将其删除以单独检查两者后,我现在收到此错误:

SMTP AUTH extension not supported by server.
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?谢谢!

python django django-email

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

如何使用highlight.js动态更改主题?

我有以下代码:

<head>
    <title></title>
    <link rel="stylesheet" href="./styles/darkula.css">
    <link rel="stylesheet" href="./styles/github.css">
</head>
<body>
    <div class="container">
        <pre>
            <code class="html">
<button class="button is-primary">Primary</button>
            </code>
        </pre>
        <!-- Change theme button -->
        <button onclick="changeTheme()">Change theme</button>
    </div>
    <script src="highlight.pack.js"></script>
    <script>
        hljs.initHighlightingOnLoad();
        document.querySelectorAll("code").forEach(function(element) {
            element.innerHTML = element.innerHTML.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;");
        });

        function changeTheme() {
            ...
        }
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)

我正在我的文件中加载 2 个主题。因为 github 主题是在 darkula 主题之后加载的,所以它会自动应用于所有代码元素。这很好,但我想允许用户通过单击按钮动态地将主题更改为 darkula。我在文档中找不到任何内容。我怎样才能做到这一点?

html syntax-highlighting highlightjs

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

TypeError:object()没有使用Django-subdomains的参数

我正在尝试使用django-subdomains app 在我的Django项目中配置子域.

这些是我采取的步骤:

  • 使用pip安装django-subdomains.
  • 在我的MIDDLEWARE中添加了'subdomains.middleware.SubdomainURLRoutingMiddleware',只是b
  • 在我的设置中添加了SITE_ID,并配置了SUBDOMAIN_URLCONF

这是我的settings.py

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '*********************************************'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # …
Run Code Online (Sandbox Code Playgroud)

python django django-subdomains

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

如何在mac上测试我的localhost上的子域?

我已经设置了一个Web应用程序,我正在我的localhost上运行它.那是 - http://127.0.0.1:8000/.我也设置了子域名.例如,转到http://blog.127.0.0.1:8000 /应该带我到博客部分.但是,我的浏览器无法识别这一点,并说服务器无法找到.我的操作系统是MACOSx

如果要在本地主机上测试子域,则需要浏览器将多个子域解析为"127.0.0.1".你这样做的方式取决于你的操作系统.如果您使用的是linux,则需要编辑/ etc/hosts.

我从其他用户那里获得了这些信息,但是,我不知道如何在我的Mac上执行此操作.任何帮助表示赞赏.

subdomain dns macos

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

在Django中可以使用多对多关系之前,对象需要具有字段"id"的值

我的models.py中有以下代码:

class Tag(models.Model):
    name = models.CharField(max_length=75)

class Article(models.Model):
    tags = models.ManyToManyField(Tag)

    def save(self, *args, **kwargs):
        for tag in self.tags:
            print tag.name
        super(Article, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

当我尝试从管理面板创建文章时,我收到以下错误:

ValueError: "<Article>" needs to have a value for field "id" before this many-to-many relationship can be used.
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?我需要保存文章之前访问并迭代标记.谢谢!

python django django-models django-related-manager

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

尝试从 Django 视图将 OAuth2 与 Google Sheets 结合使用时出现错误 400:redirect_uri_mismatch

我正在尝试从 Django 视图连接到 Google Sheets 的 API。我从此链接中获取的大部分代码: https ://developers.google.com/sheets/api/quickstart/python

无论如何,这里是代码:

sheets.py(从上面的链接复制粘贴,函数重命名)

from __future__ import print_function
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request

# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly']

# The ID and range of a sample spreadsheet.
SAMPLE_SPREADSHEET_ID = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'
SAMPLE_RANGE_NAME = 'Class Data!A2:E'

def test():
    """Shows basic usage of the Sheets API.
    Prints values from a sample spreadsheet.
    """
    creds = None
    # …
Run Code Online (Sandbox Code Playgroud)

python django google-api google-oauth google-sheets-api

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

Haxe中的箭头运算符用法和其他变量类型相关问题

我正在学习使用Haxe语言的HaxeFlixel教程.现在我对Haxe没有任何经验,但是我决定勇敢地学习这个教程,因为我有Java和Haxe的经验,因为一种语言似乎与Java非常相似.

到目前为止,情况进展顺利.但是,我遇到了这段代码,我有几个问题:

 class FSM
 {
     public var activeState:Void->Void;

     public function new(?InitState:Void->Void):Void
     {
         activeState = InitState;
     }

     public function update():Void
     {
         if (activeState != null)
             activeState();
     }
 }
Run Code Online (Sandbox Code Playgroud)

现在我明白这是一个被调用的类,FSM并且有一个名为的变量activeState.

这是我的问题:

  1. 是什么类型的activeState?我会理解是否有类似activeState:Void->完成的内容是什么?它被用作指针吗?它是一个指向另一个void变量的void指针吗?

  2. 什么是?InitState:Void->Void意味着什么?

  3. 在if语句之后,activeState使用括号将其称为函数.但是,它activeState是一个变量而不是一个函数.那么if语句究竟做了什么呢?

还有一个问题:

public var playerPos(default, null):FlxPoint;
Run Code Online (Sandbox Code Playgroud)

我的理解playerPos是实例FlxPoint类,但到底是什么的defaultnull做的?

haxe haxeflixel

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

如何为python 2.7.x创建虚拟环境?

我的mac-OSX上安装了3个版本的python.Python 2.7.6预装了机器.我之前安装了python 3.4.3.现在我通过从网站下载pkg文件来安装python 2.7.11.我还安装了pip和virtualenv.

$python
Run Code Online (Sandbox Code Playgroud)

如果我在终端上运行上面的命令,则返回以下命令:

Python 2.7.11(...)...
.........
>>>
Run Code Online (Sandbox Code Playgroud)

表明最新版本的python正在运行.

但是,我使用virtualenv使用以下命令创建了一个虚拟环境:

$virtualenv -p /usr/bin/python2.7 venv
Run Code Online (Sandbox Code Playgroud)

并使用以下方法激活:

$source venv/bin/activate
Run Code Online (Sandbox Code Playgroud)

如果我现在在激活虚拟环境的终端中运行python命令,则返回以下内容:

Python 2.7.6(...)...
.........
>>>
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?为什么不使用python 2.7.11的虚拟环境以及如何解决这个问题?谢谢.

编辑1: 如果我运行此命令:

$python2.7
Run Code Online (Sandbox Code Playgroud)

返回以下内容:

python2.7.11(...)...
....
>>>
Run Code Online (Sandbox Code Playgroud)

编辑2: 运行此命令:

python -c "import os;print os.environ.get('VIRTUALENV_INTERPRETER_RUNNING')"
Run Code Online (Sandbox Code Playgroud)

返回无.

编辑3: 我尝试指定用于创建venv的python解释器.我的python 2.7.11位于应用程序中名为python 2.7的目录中.我运行了以下命令:

$virtualenv -p /Applications/Python\ 2.7 myvenv 
Run Code Online (Sandbox Code Playgroud)

返回以下错误:

OSError: [Errno13] Permission denied. 
Run Code Online (Sandbox Code Playgroud)

python macos python-2.7

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

有没有比 pickle 或常规 Python 文件更快的存储大字典的方法?

我想存储一个只包含以下格式数据的字典:

{
    "key1" : True,
    "key2" : True,
    .....
}
Run Code Online (Sandbox Code Playgroud)

换句话说,这只是一种检查密钥是否有效的快速方法。我可以通过在名为foo的文件中存储一个 dict 来做到这一点bar.py,然后在我的其他模块中,我可以按如下方式导入它:

from bar import foo
Run Code Online (Sandbox Code Playgroud)

或者,我可以将其保存在一个名为 的pickle 文件中bar.pickle,然后按如下方式将其导入到文件顶部:

import pickle  
with open('bar.pickle', 'rb') as f:
    foo = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)

哪种方法是理想且更快的方法?

python pickle

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

如果两个组件在 React 中导入相同的 CSS 文件会发生什么?

假设我有两个 React 组件:

import { React } from "react";
import "./styles.css";

function ComponentA() {
  ...
}
export default ComponentA;
Run Code Online (Sandbox Code Playgroud)
import { React } from "react";
import "./styles.css";

function ComponentB() {
  ...
}
export default ComponentB;
Run Code Online (Sandbox Code Playgroud)

这两个组件都导入相同的 CSS 文件styles.css。现在假设在我的应用程序中,我导入了这两个组件,因此App.js看起来像这样:

import { ComponentA } from "./ComponentA";
import { ComponentB } from "./ComponentB";

function App() {
  return (
    <div className="App">
      <ComponentA />
      <ComponentB />
    </div>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

这里到底发生了什么?我的应用程序是否导入同一个 CSS 文件两次?如果是这样,我是否只在文件上进行导入App.js

reactjs

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