小编use*_*688的帖子

带有查询参数的APITest是否与普通网址不同?

我正在针对一个API编写一些单元测试,该API要么返回所有书籍,要么只返回查询参数中给定类型的书籍.当我在本地开发服务器中点击它时,这似乎正常.但是,如果在我的单元测试中指定了类型,它甚至不会进入else语句.

我的单元测试看起来像这样:

class TitlesAndBlurbsListTestCase(APITestCase):
     def setUp(self):
     # Creates a lot of books with genre horror
     # and books not in the horror genre

     def test_horror_genre(self):
         # Ensure that screener can see all the available books
         self.client.login(username='b', password='b')
         response = self.client.get('/api/titles-and-blurbs/?genre=horror')
         self.assertEqual(response.status_code, status.HTTP_200_OK)

         # Ensure that the screener gets all horror books at first
         horror_books = TitlesAndBlurbs.objects.filter(genre='horror')
         # I keep getting an assertion error here - it returns all the books
         self.assertEqual(len(response.data), horror_books.count()) 
Run Code Online (Sandbox Code Playgroud)

我的api视图看起来像这样

class TitlesAndBlurbsListViewSet(viewsets.mixins.ListModelMixin,
               viewsets.mixins.RetrieveModelMixin,
               viewsets.GenericViewSet):
    model = TitlesAndBlurbs …
Run Code Online (Sandbox Code Playgroud)

django unit-testing django-testing django-rest-framework

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

我不明白从elasticsearch/haystack返回的结果

使用弹性搜索后端从haystack返回的结果对我来说似乎是错误的.我的搜索索引如下:

from haystack import indexes
from .models import IosVideo

class VideoIndex(indexes.SearchIndex, indexes.Indexable):                   
    text = indexes.CharField(document=True, use_template=True)              
    title = indexes.CharField(model_attr='title')                           
    absolute_url = indexes.CharField(model_attr='get_absolute_url')         
#    content_auto = indexes.EdgeNgramField(model_attr='title')              
    description = indexes.CharField(model_attr='description')               
#    thumbnail = indexes.CharField(model_attr='thumbnail_url', null=True)   

    def get_model(self):                                                    
        return IosVideo                                                     

    def index_queryset(self, using=None):                                   
        return self.get_model().objects.filter(private=False)  
Run Code Online (Sandbox Code Playgroud)

我的文本文件如下:

{{ object.title }}
{{ object.text }}
{{ object.description }}
Run Code Online (Sandbox Code Playgroud)

我的疑问是

SearchQuerySet().models(IosVideo).filter(content="darby")[0]
Run Code Online (Sandbox Code Playgroud)

返回的结果让我认为这不起作用是具有以下特征的视频对象

title: u'Cindy Daniels'
description: u'',
text: u'Cindy Daniels\n\n\n',
absolute_url: u'/videos/testimonial/cindy-daniels/'
Run Code Online (Sandbox Code Playgroud)

为什么在世界上查询会返回这样的结果?我很困惑.

我目前的理论是它在查询中对char的每个子集进行标记,并将其用作部分匹配.有没有办法减少这种容差,使其更接近匹配.

我的pip信息是elasticsearch == 1.2.0 django-haystack == 2.3.1

弹性搜索版本号为1.3.1

另外,当我使用http:// localhost:9200/haystack/_search /?q = …

django django-haystack elasticsearch

13
推荐指数
1
解决办法
973
查看次数

这些正则表达式之间有什么区别

我正在阅读Ionic的源代码.我遇到了这个正则表达式,我对它感到非常困惑.

([\s\S]+?)
Run Code Online (Sandbox Code Playgroud)

好的,它是在每个char上分组,可以是白色空格,还是非白色空间???

他们为什么不这么做

(.+?)
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

javascript regex

11
推荐指数
1
解决办法
155
查看次数

AWS Lambda中的Python请求超时

我正在尝试从我的AWS Lambda发出http请求,但它超时了.

我的代码看起来与此类似:

import requests

def lambda_handler(event, context):
    print('Im making the request')
    request.get('http://www.google.com')
    print('I recieved the response')
Run Code Online (Sandbox Code Playgroud)

但是当我测试这个时,我会超时.

输出是

Im making the request
END RequestId: id
REPORT RequestId: id    Duration: 15003.25 ms   Billed Duration: 15000 ms   Memory Size: 128 MB Max Memory Used: 18 MB  
2016-04-08T20:33:49.951Z id Task timed out after 15.00 seconds
Run Code Online (Sandbox Code Playgroud)

所以我知道问题不是找不到请求包,而是运行我的python代码.我只想弄清楚为什么它会超时.

python amazon-web-services aws-lambda

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

Django Haystack:模板和模型索引的职责

我已经浏览了文档,我甚至创建了一些搜索后端,但我仍然对这些事情在haystack中做了什么感到困惑.搜索结束时搜索你在类中继承的字段indices.SearchIndex,indexes.Indexable,或者是后端搜索模板中的文本?有人能解释一下吗?

在django haystack中,您将创建一个类来定义应该查询的字段(以及我理解它的方式),如下所示:

class ProductIndex(indexes.SearchIndex, indexes.Indexable):
    text = indexes.CharField(document=True, use_template=True)
    name = indexes.CharField(model_attr='title', boost=1.75)
    description = indexes.CharField(model_attr='description')
    short_description = indexes.CharField(model_attr='short_description')

    def get_model(self):
        return Product

    def index_queryset(self, using=None):
        """Used when the entire index for model is updated."""
        return self.get_model().objects.filter(active=True,
                                           published_at__lte=datetime.now())
Run Code Online (Sandbox Code Playgroud)

您还将创建一个可以执行某项操作的模板txt - 我不确定是什么.我知道在搜索算法期间搜索后端将覆盖此模板.

{{ object.name }}
{{ object.description }}
{{ object.short_description }}
{% for related in object.related %}
    {{ related.name }}
    {{ related.description }}
{% endfor %}

{% for category in object.categories.all %}
    {% if category.active %}
        {{ category.name }}
    {% …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-haystack

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

RxJS:立即开始的间隔

我正在制作一个简单的玩具angular2项目,每隔5秒就会击中一个网址.现在我拥有它以便轮询网址,当文档加载时它不会等待.但它看起来真的很笨重.有更好的解决方案吗?

Observable.interval(1000 * 5)
      .flatMap(() => this.http.get(url))
      .merge(this.http.get(url)) // Merges a stream that starts right away!!!
      .map((res:Response) => res.json());
Run Code Online (Sandbox Code Playgroud)

rxjs angular

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

dc-js折线图显示平均变化时的额外填充线

我正在使用库dc-js来显示折线图.据我所知,一切都运作良好.图表甚至大部分显示正确.但是,除了我在图表上想要的线条之外,还有一条黑色线条位于蓝色线条后面,它是黑色的.黑线是从第一个值到最后一个值的单个线性增量.

注意黑线. 我不知道为什么会出现这种情况.

这是我的代码:

var stripeData = <Data>;
var mrrLineChart  = dc.lineChart("#line-chart");
var data = [];
// console.log(stripeData);
stripeData.forEach(function (dat) {
    // console.log(dat.created);
    data.push({date: parseDate(dat.created.substr(0, 10)), amount: dat.amount});
});

// console.log(data);

var ndx = crossfilter(data);
var dateDim = ndx.dimension(function(d) { 
    return d.date; 
});
var amount = dateDim.group().reduceSum(function(d) { return +d.amount; });
// console.log(amount);
var minDate = dateDim.bottom(1)[0].date;
var maxDate = dateDim.top(1)[0].date;

// console.log(minDate);
// console.log(maxDate);

mrrLineChart.width(960)
    .height(150)
    .margins({top: 10, right: 50, bottom: 50, left: 50})
    .dimension(dateDim) 
    .group(amount, "Amount")
    .transitionDuration(500)
    .brushOn(false)
    .renderArea(true)
    .renderDataPoints(true) …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js

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

在另一个向量内存储矢量迭代器

我无法弄清楚在向量中存储迭代器所需的签名.我所有的谷歌foo只是告诉我如何在向量上使用迭代器.

c++ iterator vector

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