我想实现一个电子邮件验证,我的工作方式似乎"hacky",但似乎工作得很好.我在函数的返回部分创建了一个自定义响应,但是我一直收到以下错误:
The response content must be rendered before it can be iterated over.
Run Code Online (Sandbox Code Playgroud)
该过程是有人注册的标准,当我去保存用户模型时,我有一个send_mail()功能,用验证密钥发送电子邮件.用户单击该链接并传递密钥,如下所示:
/api/account/verify/849c40665175e56709855cc7aec2b16c05a4d977b3b083790334c6bc01f6e522
Run Code Online (Sandbox Code Playgroud)
在视图中,您可以看到我拉出密钥的位置并处理所有内容.我猜的错误是因为我使用Response()的get_queryset(),但我不知道.如果没有,我该如何创建自定义响应消息?
版本
Python==2.7.10
Django==1.11.4
djangorestframework==3.6.3
Run Code Online (Sandbox Code Playgroud)
模型
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), null=False, unique=True)
first_name = models.TextField(_('first name'), null=False)
last_name = models.TextField(_('last name'), null=False)
is_active = models.BooleanField(_('active'), default=False)
is_admin = models.BooleanField(_('admin'), default=False)
created_on = models.DateTimeField(_('create on'), auto_now_add=True)
updated_on = models.DateTimeField(_('updated on'), auto_now=True)
is_staff = models.BooleanField(_('staff'), default=False)
activation_key = models.CharField(_('email validation key'), default='', max_length=256)
Run Code Online (Sandbox Code Playgroud)
视图
class ActivateViewSet(generics.ListAPIView):
queryset = …Run Code Online (Sandbox Code Playgroud) 我正在关注试图让Buildbot第一次运行的文档,我不断收到同样的错误:
2017-08-04 13:58:45-0400 [-] while starting BuildMaster
Traceback (most recent call last):
File "/home/mike/tmp/bb-master/sandbox/lib/python2.7/site-packages/twisted/internet/defer.py", line 1442, in gotResult
_inlineCallbacks(r, g, deferred)
File "/home/mike/tmp/bb-master/sandbox/lib/python2.7/site-packages/twisted/internet/defer.py", line 1386, in _inlineCallbacks
result = g.send(result)
File "/home/mike/tmp/bb-master/sandbox/lib/python2.7/site-packages/buildbot/util/service.py", line 53, in reconfigServiceWithBuildbotConfig
yield svc.reconfigServiceWithBuildbotConfig(new_config)
File "/home/mike/tmp/bb-master/sandbox/lib/python2.7/site-packages/twisted/internet/defer.py", line 1532, in unwindGenerator
return _inlineCallbacks(None, gen, Deferred())
--- <exception caught here> ---
File "/home/mike/tmp/bb-master/sandbox/lib/python2.7/site-packages/twisted/internet/defer.py", line 1386, in _inlineCallbacks
result = g.send(result)
File "/home/mike/tmp/bb-master/sandbox/lib/python2.7/site-packages/buildbot/www/service.py", line 209, in reconfigServiceWithBuildbotConfig
self.setupSite(new_config)
File "/home/mike/tmp/bb-master/sandbox/lib/python2.7/site-packages/buildbot/www/service.py", line 274, in setupSite
"could not find plugin %s; …Run Code Online (Sandbox Code Playgroud) 我有一个在线商店,每天有大约15,000种产品可以更新.目前我每天上传新列表,但它会带来一些问题(比如停机时间是一个很大的问题),我想提出一个替代方案.我创建了一个脚本来移动"昨天"产品列表并下载今天的产品列表.然后我逐行逐行比较两个文件,看看需要删除,修改和创建的内容.这将允许我以最少的工作量执行更新,没有停机时间,因为一切都将通过CRON作业在幕后发生,它应该如何完成.
我遇到的问题是这个过程需要四个多小时才会发生,我不确定我所做的是最有效的方式.我的第一个想法是用C++编写一些东西,但我不确定与PHP相比会有多快.
我的问题是:
•这是最有效的方法吗?
•PHP是最好的语言吗?
这是我编写的用于处理下载和比较的脚本:
public function __construct($url, $user, $pass)
{
$this->logger = new KLogger("/opt/lampp/htdocs/lea/logs/master.log" , KLogger::INFO);
/* increase execution time and server memory limit */
ini_set('max_execution_time', 14400);
ini_set('memory_limit', '-1');
/* set veriables */
$this->ftp = ftp_connect($url);
$this->login = ftp_login($this->ftp, $user, $pass);
$this->old = file('/opt/lampp/htdocs/lea/products/new/temp/rsr_inventory.txt');
$this->new = file('/opt/lampp/htdocs/lea/products/new/rsr_inventory.txt');
$this->list = array();
$this->start_time = date('Hi');
$this->counter = 0;
}
public function download($to, $from)
{
// move current file to new location to get new file ready
$this->logger->LogInfo('move yesterday\'s products list'); …Run Code Online (Sandbox Code Playgroud) 我正在创建一个包含 3 个部分的圆环图:
当用户将鼠标悬停在每个彩色部分上时,它会显示 100% 的百分比。目前各部分如下;绿色为 78%,黄色为 13%,红色为 8%。如果将所有这些加在一起不等于 100%,则等于 99%
每个部分都有来自终点的整数值,我试图将所有内容转换为百分比。
对于这个图表,我有三个值:
var values = [1397, 234, 149];
Run Code Online (Sandbox Code Playgroud)
这些值在添加时需要等于 100%:
var sum = values.reduce((a, b) => a + b, 0); // this works great
Run Code Online (Sandbox Code Playgroud)
要确定我使用的每个部分的百分比:
var value = 0;
values.forEach(function(number) {
console.log(number + ' = ' + (number / sum) * 100);
result += (number / sum) * 100;
});
Run Code Online (Sandbox Code Playgroud)
产生以下结果:
1397 = 78.48314606741573
234 = 13.146067415730336
149 = 8.370786516853933
result = 100
Run Code Online (Sandbox Code Playgroud)
现在这就是我认为问题所在。我无法显示浮点值,因为它不是百分比值。我决定用来Math.round()创建整数,我认为这不是正确的方法。
如何转换每个浮动值以创建等于 100% 的百分比?有替代品 …
django ×2
python ×2
buildbot ×1
c++ ×1
ecmascript-6 ×1
javascript ×1
php ×1
reactjs ×1
server ×1
shopify ×1