小编Saq*_*Ali的帖子

node.js邮件监听器多长时间轮询一次电子邮箱?

我正在查看这个node.js代码,它在我指定的电子邮箱上设置邮件侦听器.有用.

但是我想知道这个民意调查收件箱的频率.这是我不知道的,似乎没有在任何地方指定.那么如何才能知道投票期是什么?它甚至是民意调查吗?如果没有,他们到达时如何收到电子邮件?

var MailListener = require("mail-listener2");
var mailListenerOptions = {
    username: "myUserName",
    password: "myPassword",
    host:     "myHost.com",
    port:     993,
    tls: true,
    tlsOptions: { rejectUnauthorized: false },
    mailbox: "INBOX",
    markSeen: true,
    fetchUnreadOnStart: true,
    mailParserOptions: {streamAttachments: true}
};


var startServer = function(req, res){
    var mailListener = new MailListener(mailListenerOptions);
    mailListener.on("server:connected", function(){
        // Do something
    });
    mailListener.on("server:disconnected", function(){
        // Do something
    });
    mailListener.on("error", function(error){
        // Do something
    });

    mailListener.start();
    mailListener.on("mail", processEmail);
}

var processEmail = function(mail){
    // Do something
}
Run Code Online (Sandbox Code Playgroud)

node.js

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

如何管理访问Django REST API的权限?

我正在构建一个Django应用程序,它公开了一个REST API,用户可以通过它查询我的应用程序的模型.我按照这里的说明操作.

下面你可以看到我从命令行用各种用户名/密码命中这个API.但是,它只有在我使用root用户和密码时才有效.为什么?我该如何改变?我没有在任何地方指定此API仅供root用户使用.我希望它能公开发布

% curl -H 'Accept: application/json; indent=4' -u root:myRootPassword http://127.0.0.1:3001/api/profiles/60/
{
    "id": 60,
    "slug": "my_user",
    "user": "http://127.0.0.1:3001/api/users/16/"
}

% curl -H 'Accept: application/json; indent=4' http://127.0.0.1:3001/api/users/16/
{
    "detail": "Authentication credentials were not provided."
}

% curl -H 'Accept: application/json; indent=4'  -u myUser:myPassword http://127.0.0.1:3001/api/profiles/60/
{
    "detail": "You do not have permission to perform this action."
}

% curl -H 'Accept: application/json; indent=4'   -u myUser:myPassword http://127.0.0.1:3001/api/profiles/60/
{
    "detail": "Invalid username/password"
}
Run Code Online (Sandbox Code Playgroud)

python django rest

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

如何使用电子邮件登录用户并使用Django Rest Framework JSON Web令牌注销?

我有一个现有的,工作的Django应用程序,它实现了许多Django-REST框架API.我刚刚用Django-rest-framework-JWT添加了用户身份验证,现在我正在尝试学习它.我已经确认,如果我执行以下卷曲,它会向我发出令牌:

curl -X POST -d "username=myuser&password=mypassword" http://localhost:3050/api-token-auth/
Run Code Online (Sandbox Code Playgroud)

但我有一系列问题,我认为这些问题没有在文件中得到解决.请回答以下问题:

  1. 如何使用curl使令牌无效?我需要在用户注销时这样做.
  2. 这些令牌存储在DB中的哪个位置?实现后django-rest-framework-jwt,我在Django Admin界面中看不到任何新表
  3. 我想允许我的用户使用他们的用户名电子邮件登录.所以我想将api-token-auth端点包装在一个自定义端点中,该端点检查给定的字符串是电子邮件还是用户名.如果是电子邮件,我会查找用户名.然后调用api-token-auth.那个端点应该怎么样?我不知道怎么包装这个api-token-auth method.

python django rest django-rest-framework

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

如何使用多个网络服务器使 Django REST JWT 身份验证扩展?

我目前有一个 Django 应用程序,它只是一堆 REST API(当然由数据库支持)。我正在使用Django REST framework JWT管理我的身份验证。它工作正常。每当用户登录时,我的 API 之一都会返回一个令牌,消费应用程序存储该令牌以供以后使用。到现在为止还挺好。

但是,将来,此解决方案需要扩展。而不是让单个服务器运行 Django 应用程序,我可以预见我需要多个 Web 服务器的情况。当然,所有这些网络服务器都将连接到同一个数据库。但是由于令牌未存储在数据库中,这将如何与多个 Web 服务器一起使用?一台服务器发出的令牌在另一台服务器上无效。

那么其他人是如何解决这个问题的呢??

django rest restful-authentication django-authentication django-rest-framework

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

如何在Django QuerySet中进行Group By Query?

我的Django模型:

class MyModel(models.Model):
    a = IntegerField()
    b = IntegerField()
Run Code Online (Sandbox Code Playgroud)

我想写一个回答以下问题的查询集:"对于每个不同的值a,什么是最小值,最大值和平均值b?"

我该怎么做?

SQL看起来像这样:

SELECT a, min(b), max(b), avg(b) FROM MyModel group by a
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何使用aggregateannotate方法.文档中的所有示例都显示了在对要分组的同一变量进行平均时如何使用这些方法.

django django-models django-queryset

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

如何使用Git和Bitbucket在两个存储库之间共享文件?

我正在构建一个包含2个独立组件的Web应用程序:在用户浏览器中运行的前端(Javascript + Angular)和在我的服务器上运行并将数据提供给的后端REST Api(Python/Django)所有的前端.这个应用程序的两个部分放在两个单独的Git存储库中,并存储在BitBucket中.

前端向用户显示数据赢得了一个漂亮的界面,有很多很好的CSS定义.后端向用户发送电子邮件.

我希望电子邮件的外观与前端的显示完全匹配.所有用户的交互都应该具有统一的表示.那么我应该在哪里/如何将CSS放在两个存储库中都可用,但我只需要在一个地方对它进行更改?

我如何使用我正在使用的工具:Git和Bitbucket?

css git bitbucket

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

如何确定 PyJWT 的版本?

我有两个不同的软件环境(Environment AEnvironment B),我正在尝试在这两种环境上运行 PyJWT。它在一个环境Environment A上运行良好,但在Environment B上失败。

我得到的错误环境B当我打电话jwt.encode()algorithm==ES是:Algorithm not supported

我试图弄清楚为什么它适用于环境 A而不是环境 B。这两个环境似乎安装了不同版本的 PyJWT。但是确定在环境 B上安装了哪个版本的 PyJWT对我来说很困难。我该怎么做??

我在环境 A环境 B上运行了以下检测代码:

import jwt, cryptography, sys, pkg_resources

my_private_key = """XXXXX"""
my_public_key = """YYYYYY"""
original = {"Hello": "World"}
print "sys.version = {}".format(str(sys.version))

try:
    print "dir(jwt) = {}".format(str(dir(jwt)))
except Exception as e:
    print "Failed to get dir of …
Run Code Online (Sandbox Code Playgroud)

python pyjwt

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

为什么我得到SQLAlchemy错误"__table_args__值必须是元组,字典或无"

我有以下SQLAlchemy模型.它已成功迁移到数据库:

class MyClassA(db.Model, Timestamp):
    a_id = db.Column(db.Integer, nullable=False, primary_key=True)
    b_id = db.Column(db.Integer, db.ForeignKey(C.c_id), nullable=False)
    d = db.Column(db.String(1024))
    e_id = db.Column(db.Integer,
                      db.ForeignKey(e.e_id))
Run Code Online (Sandbox Code Playgroud)

现在我想在第二和第四个字段中添加唯一性约束.所以我将以下行添加到模型中:

     __table_args__ = db.UniqueConstraint('b_id', 'e_id', name='unique_constraint_bid_eid')
Run Code Online (Sandbox Code Playgroud)

但是现在当我尝试迁移它时,我收到以下错误:

sqlalchemy.exc.ArgumentError: __table_args__ value must be a tuple, dict, or None
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误?我该如何解决?我尝试将等式的右侧放在括号中,但这并没有解决它.

python sqlalchemy sqlalchemy-migrate flask-sqlalchemy

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

如何让python的MagicMock在第一次被调用时返回一个值并在第二次被调用时引发异常?

我有以下使用模拟的 python 程序。

#!/usr/bin/env python 
import mock

def my_func1():
    return "Hello"

my_func = mock.MagicMock()
my_func.return_value = "Goodbye"

print my_func()
print my_func()
Run Code Online (Sandbox Code Playgroud)

输出:

Goodbye
Goodbye
Run Code Online (Sandbox Code Playgroud)

一切正常。伟大的。

但我希望模拟出的方法Goodbye在第一次被调用时返回,并在第二次被调用时引发异常。我怎样才能做到这一点??

python mocking magicmock

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

如何将此SQL语句转换为Django QuerySet?

请注意:这个问题是我几天前提出的这个问题的后续问题.它不是重复的.我正在尝试在Django中建模的SQL查询和我加载的虚拟数据之间存在轻微但显着的差异.

我正在编写一个Python/Django应用程序来进行一些库存分析.

我有两个非常简单的模型,如下所示:

class Stock(models.Model):
    symbol = models.CharField(db_index=True, max_length=5, null=False, editable=False, unique=True)

class StockHistory(models.Model):
    stock = models.ForeignKey(Stock, related_name='StockHistory_stock', editable=False)
    trading_date = models.DateField(db_index=True, null=False, editable=False)
    close = models.DecimalField(max_digits=12, db_index=True, decimal_places=5, null=False, editable=False)

    class Meta:
        unique_together = ('stock', 'trading_date')
Run Code Online (Sandbox Code Playgroud)

这是我填充的虚拟数据:

import datetime
a = Stock.objects.create(symbol='A')
b = Stock.objects.create(symbol='B')
c = Stock.objects.create(symbol='C')
d = Stock.objects.create(symbol='D')

StockHistory.objects.create(trading_date=datetime.date(2018,1,1), close=200, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,1,2), close=150, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,1,3), close=120, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,4,28), close=105, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,5,2), close=105, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,5,3), close=105, stock=a)

StockHistory.objects.create(trading_date=datetime.date(2017,5,2), close=400, stock=b)
StockHistory.objects.create(trading_date=datetime.date(2017,11,11), close=200, stock=b) …
Run Code Online (Sandbox Code Playgroud)

python mysql django

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