小编abi*_*son的帖子

何时使用Haystack/ElasticSearch与Django的ORM

所以我在一周前在我们的BETA应用程序中使用ElasticSearch实现了Haystack.我可以注意到的一件事是,通过Haystack和Django的ORM,将一些数据(大量)返回给我们的用户(例如列出应用程序中的所有用户)要快得多.现在,我将发布REST服务(使用TastyPie),以便在接下来的几周内为可能的平板电脑提供服务,因为我希望能够从iPad,Nexus平板电脑等访问这些信息.

我想知道的一件事是,我应该何时查询ORM与Haystack/ElasticSearch?例如,如果平板电脑上的用户请求特定的一组用户,我们是应该让TastyPie查询ORM,还是转到ElasticSearch?

如果我们看看这个答案Django:Haystack或ORM,我们都同意DB可以检索和写入数据.但是,我们可以说,一旦搜索引擎更新,Haystack/ElasticSearch可以更快地检索更快的速度吗?

我有点困惑的是,如果它更快,我们应该查询Haystack吗?!

django django-orm django-haystack elasticsearch

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

persistentStoreManagedObjectContext vs mainQueueManagedObjectContext

晚上好!

因此,在将数据保存到Core Data中时,我一直在理解到底是怎么回事.首先,一个简单的问题:

1)我什么时候应该使用persistentStoreManagedObjectContext?何时应该使用mainQueueManagedObjectContext ?! 现在,我总是使用persistentManagedObjectContext,但我可以看到一个RestKit调用"getObjectsPath",该对象将拥有mainQueueObjectContext.这是为什么?!

谢谢!

ios restkit afnetworking

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

使用Model在Django中创建JSON响应

我在这里有一些问题.我试图返回由消息和模型实例组成的JSON响应:

   class MachineModel(models.Model):
       name = models.CharField(max_length=64, blank=False)
       description = models.CharField(max_length=64, blank=False)
       manufacturer = models.ForeignKey(Manufacturer)
       added_by = models.ForeignKey(User, related_name='%(app_label)s_%(class)s_added_by')
       creation_date = models.DateTimeField(auto_now_add=True)
       last_modified = models.DateTimeField(auto_now=True)

    machine_model_model = form.save(commit=False)
    r_user = request.user.userprofile
    machine_model_model.manufacturer_id = manuf_id
    machine_model_model.added_by_id = request.user.id
    machine_model_model.save()
    alert_message = " The'%s' model " % machine_model_model.name
    alert_message += ("for '%s' " % machine_model_model.manufacturer)
    alert_message += "was was successfully created!"
    test = simplejson.dumps(list(machine_model_model))
    data = [{'message': alert_message, 'model': test}]
    response = JSONResponse(data, {}, 'application/json')


class JSONResponse(HttpResponse):
"""JSON response class."""
    def __init__(self, obj='', …
Run Code Online (Sandbox Code Playgroud)

python django json django-models django-serializer

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

postPath AFHTTPClient中的JSON响应

所以我刚刚切换到RestKit 0.2,我目前正在使用新的"HttpClient",它基本上是一个AFHTTPClient.我有这行代码:

RKObjectManager* objectManager = [RKObjectManager sharedManager];
NSDictionary* params = [[NSDictionary alloc] initWithObjectsAndKeys: login, @"username", password, @"password", nil];

[[objectManager HTTPClient]postPath:@"users/login/?format=json" parameters:params
    success:^(AFHTTPRequestOperation *operation, id responseObject)
    {
        //reponseObject vs operation.response
        NSLog(@"%@", responseObject);
    }
    failure:^(AFHTTPRequestOperation *operation, NSError *error)
    {
        NSLog(@"ERROR");
    }];
Run Code Online (Sandbox Code Playgroud)

此POST调用以以下格式返回JSON响应:{"api_key":"....","username":"...."}.就如此容易.

在切换到0.2之前,我能够通过执行以下操作获取响应中的api_key键:

 [[RKClient sharedClient] post:@"/users/login/?format=json" usingBlock:^(RKRequest *request)
 {
    request.onDidLoadResponse = ^(RKResponse *response)
    {
        id parsedResponse = [response parsedBody:NULL];
        NSString *apiKey = [parsedResponse valueForKey:@"api_key"];
    }
  }.....];
Run Code Online (Sandbox Code Playgroud)

http://restkit.org/api/master/Classes/RKResponse.html

但是现在,我不能这样做,如果我在responseObject上做一个NSLog,我得到:

<7b227265 61736f6e 223a2022 41504920 4b657920 666f756e 64222c20 22617069 5f6b6579 223a2022 61356661 65323437 66336264 35316164 …

objective-c restkit afnetworking restkit-0.20

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

使用AFNetworking流式传输视频并缓存视频以进行播放

所以我想让我的应用程序流式传输位于Amazon S3上的视频.到目前为止,我可以用Apple的MediaPlayer教程做到这一点没问题:https://developer.apple.com/library/ios/#samplecode/MoviePlayer_iPhone/Introduction/Intro.html

但是,我在我的应用程序中使用RestKit,因此也在AFNetworking中使用.我看到AFNetworking正在使用缓存,所以我想知道是否可以对视频做同样的事情?我不知道如何使用AFNetworking流式传输视频.这将是一个良好的开端.我可以使用AFNetworking下载电影......但是我可以使用它进行流式传输,或者我应该只使用#import给出的流式传输系统

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://s3.amazonaws.com/leclerc/videos/sop/IMG_0141.MOV"]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"IMG_0141.MOV"];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"Successfully downloaded file to %@", path);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

[operation start];
Run Code Online (Sandbox Code Playgroud)

例如,如果我在Vevo上观看音乐片段然后在5分钟后重新播放,我是否必须在iPad上重新下载?这对我来说是全新的,对不起我的无知!

video-streaming afnetworking ios6

6
推荐指数
0
解决办法
1231
查看次数

在滚动div后,如何将引导导航栏固定到顶部?

我试图让带有引导程序的导航栏出现在某个div之后,称为"A".Div"a"位于页面顶部,高度约为400px.一旦用户滚过div"a"和滚动条,我希望滚动条粘在顶部.类似于这样的事情:https://www.facebook.com/home但我顶部没有视频,它是一个图像.

我们可以自己引导吗?

谢谢!

javascript css jquery twitter-bootstrap

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

获取"此服务器的证书无效".在iPad上从Amazon S3(HTTPS)加载图像时,但在模拟器上没有错误

我正在尝试显示存储在Amazon S3 Bucket上的图像.URL类似于https://s3.amazon.com/..../test.jpg.每当我在iPhone模拟器上执行此操作时,图像都会正确显示.但是,如果我在实际设备上测试它,我会继续:

错误域= NSURLErrorDomain代码= -1202"此服务器的证书无效.您可能连接到假冒"s3.amazonaws.com"的服务器,这可能会使您的机密信息面临风险." UserInfo = 0x20007030 {NSErrorFailingURLStringKey = https://s3.amazonaws.com/.../test.jpeg,NSLocalizedRecoverySuggestion =您是否还要连接到服务器?,NSErrorFailingURLKey = https://s3.amazonaws.com/. ../test.jpeg,NSLocalizedDescription =此服务器的证书无效.您可能正在连接到假装是"s3.amazonaws.com"的服务器,这可能会使您的机密信息面临风险.,NSUnderlyingError = 0x20014d40"此服务器的证书无效.您可能正在连接到服务器假装是"s3.amazonaws.com",可能会使您的机密信息面临风险.",NSURLErrorFailingURLPeerTrustErrorKey =}

有任何想法吗?!

谢谢!

amazon amazon-s3 nsurlconnection afnetworking

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

扩展Django中的用户配置文件.管理员创建用户

晚上好,

我目前正在使用Django创建一个站点,并使用用户配置文件扩展了用户.我有一个小问题.这是我的情况:

  1. 我扩展了用户配置文件以添加自定义字段.
  2. 我将模型添加到用户管理模型,因此当我添加用户时,我可以直接填写字段以创建配置文件.
  3. 现在,如果我没有在这些新的自定义用户字段中添加ANYTHING,则在用户添加页面中,Django Admin不会抛出错误,说明这些字段为空(并且它们不是假设的)
  4. 我希望它在此用户添加管理页面中向我抛出错误,以便管理员在添加新用户时必须填写配置文件.
  5. 所有用户都将添加到管理面板中.

这可能吗?非常感谢!

在admin.py中

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin
from django.contrib.auth.models import User
from accounts.models import UserProfile


class UserProfileInline(admin.TabularInline):
    model = UserProfile


class UserAdmin(DjangoUserAdmin):
    inlines = [ UserProfileInline,]


admin.site.unregister(User)
admin.site.register(User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)

在model.py中

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    employee_number = models.PositiveIntegerField(unique=True)

    def __unicode__(self):
        return 'Number'
Run Code Online (Sandbox Code Playgroud)

python django django-models django-forms

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

在SearchQuerySet结果中获取外键对象Haystack

我有以下型号:

class EquipmentModel(models.Model):
    name = models.CharField(max_length=64, blank=False)
    description = models.CharField(max_length=64, blank=True)
    manufacturer = models.ForeignKey(Manufacturer, related_name="manufacturer")
    ....
Run Code Online (Sandbox Code Playgroud)

和以下索引:

class EquipmentModelIndex(indexes.SearchIndex, indexes.Indexable):
    text = indexes.CharField(document=True, use_template=True)
    name = indexes.CharField(model_attr="name")
    manufacturer = indexes.CharField()

    def get_model(self):
        return EquipmentModel

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

那是我的equipmentmodel_text.txt

{{object.name}} {{object.manufacturer}}

但是,每当我执行此查询时:

    results = SearchQuerySet().models(EquipmentModel).filter(name__startswith=request.GET['q'])[:5]
Run Code Online (Sandbox Code Playgroud)

我只得到制造商的PK.我想要整个对象(或至少它的名字).那可能吗?!

谢谢!

django django-haystack elasticsearch

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

“无法刷新令牌:缺少必需的参数身份验证参数。” - AWS Amplify Pull API

我正在使用 AWS Amplify 构建一个 VueJS 应用程序,我在管理 UI 中构建后端,这非常简单。

我通过命令行在我的应用程序中添加了身份验证,但我正在通过 AdminUI 构建所有模型。昨天它工作得很好,我正在做 amplify pull --appId XXXX --envName staging 并且它正在拉我的最新模型等等......但今天早上,我得到:

? 获取后端环境的更新:从云端暂存。无法刷新令牌:缺少必需的参数身份验证参数。无法获取凭据:缺少必需的参数身份验证参数。

每当我执行拉。

amazon-web-services aws-cloudformation amazon-cognito aws-amplify

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