小编Oli*_*Oli的帖子

处理照片上传的最佳方法是什么?

我正在为一个家庭成员的婚礼做一个网站.他们要求的一个功能是一个照片部分,所有的客人可以在婚礼后去上传他们的快照.我说这是一个很棒的主意,我去建造它.

那么只有一个问题:物流.上传速度很慢,现代相机的照片很大(2-5 + Megs).

我只需要~800px宽的图像,其中一些可能需要旋转,所以理想情况下我正在寻找使用客户端编辑器做三件事:

  1. 让用户选择多个文件
  2. 让他们旋转一些图像,使它们正确向上
  3. 调整大小然后上传

在我的梦想世界中,它是免费的和开源的.有任何想法吗?

提醒一下:这是客人必须使用的东西.他们中的一些人会非常精通计算机,但其他人几乎完全是文盲.安装桌面应用程序不是一个真正的选择.我假设其中98%安装了Flash和Java.

编辑:我更喜欢SilverLight上的Flash/Java选项,不仅仅是因为它目前的安装率较低,而且因为我在Linux上并且我想测试它=)

javascript php java flash

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

在VB6中使用SQLITE

我目前正在为可再发行的应用程序使用MSAccess mdb文件.

前段时间我发现了SQLite,作为我的解决方案的替代品,但是他们提供的二进制文件并没有提供将它们用作VB6中的对象的可能性.(或者至少我无法弄清楚如何).

有没有人有链接,或者可以写一些关于从VB6连接到SQLite DB,以及它与使用ADO的区别?

database sqlite vb6 ado

11
推荐指数
3
解决办法
3万
查看次数

IIS CSS缓存

当我们在新代码提交后开发新站点或测试涉及css的新站点的更改并且有人去检查更改时,他们总是会看到旧css的缓存版本.这在测试中引起了很多问题,因为人们从不确定他们是否在屏幕上有最新的css(我知道shift和点击刷新清除了这个缓存,但我不能指望最终用户知道这样做).我可能的解决方案是什么?

css iis iis-6

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

jQuery Mobile - 在页面加载时执行某些操作

每次页面加载时我都想做点什么.它可以修复移动网站在不同设备上的显示方式,因此它也需要在AJAX加载时发生.

目前,我已经尝试过传统的$(function(){ /*...*/ });方法,但这只适用于第一次加载,而不是后续的AJAX加载.

我一直在寻找合适的事件来绑定,但我很难失败.

jquery-mobile

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

我怎样才能只暴露一个IList <>的片段?

我有一个暴露内部IList <>的类属性

System.Collections.ObjectModel.ReadOnlyCollection<>
Run Code Online (Sandbox Code Playgroud)

如何在ReadOnlyCollection<>不将元素复制到新数组的情况下传递其中的一部分(我需要实时视图,而目标设备内存不足)?我的目标是Compact Framework 2.0.

c# compact-framework windows-mobile .net-2.0

10
推荐指数
2
解决办法
1594
查看次数

在Python中接受Cookies

我怎样才能在python脚本中接受cookie?

python cookies

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

在Django中针对另一个相关模型的M2M关系过滤相关字段

所以我有一个预订系统.代理商(提交预订的人员和组织)仅允许在我们分配的类别中进行预订.许多代理可以分配到相同的类别.这是一个简单的多对多.以下是模型的概念:

class Category(models.Model):
    pass

class Agent(models.Model):
    categories = models.ManyToManyField('Category')

class Booking(models.Model):
    agent = models.ForeignKey('Agent')
    category = models.ForeignKey('Category')
Run Code Online (Sandbox Code Playgroud)

因此,当预订进入时,我们会根据代理商可用的类别动态分配类别.代理通常不指定.

我可以选择Booking.agent.categories中不包含Booking.category的预订吗?

我们刚刚注意到 - 由于一个愚蠢的管理员错误的优雅 - 一些代理人被允许提交任何类别的预订.它让我们在错误的地方有成千上万的预订.

我可以解决这个问题,但我只能通过嵌套查找来实现它:

for agent in Agent.objects.all():
    for booking in Booking.objects.filter(agent=agent):
        if booking.category not in agent.categories.all():
            # go through the automated allocation logic again
Run Code Online (Sandbox Code Playgroud)

这可行,但它超级慢.这是数据库和Django之间的大量数据.这也不是一次性的.我想定期审核新的预订,以确保它们在正确的位置.在检查代理数据库之后,似乎不会发生另一个管理问题,我想查询不在其代理的类别中的预订.

同样,嵌套查询不会起作用,但随着我们的数据集增长到数百万(甚至更多)我想更有效地做到这一点.

我觉得应该可以通过F()查找来执行此操作,如下所示:

from django.db.models import F
bad = Booking.objects.exclude(category__in=F('agent__categories'))
Run Code Online (Sandbox Code Playgroud)

但这不起作用: TypeError: 'Col' object is not iterable

我也尝试过.exclude(category=F('agent__categories')),虽然它的语法更快乐,但它并没有排除"正确"的预订.

F()在M2M上进行此类查询的秘密公式是什么?


为了帮助确定我在使用这些模型(以及一些数据)设置Github仓库后的确切内容.请用它们来编写查询.当前唯一的答案点击和问题我也看到了我的"真实"数据.

git clone https://github.com/oliwarner/djangorelquerytest.git
cd …
Run Code Online (Sandbox Code Playgroud)

django django-models django-queryset

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

使用 Django Rest Framework 进行批量、部分更新

我想一次部分更新多个项目。我已经添加了一个 mixin 来允许我批量创建(并且效果很好),但即使我添加了一个部分参数,它也不允许修补列表。

我猜这是一个路由问题。我需要一个新的视图来处理 PATCH /(而不是/id/),但我远远超出了我的深度。

对此的现有答案不适用于 3.8,或者至少对我不起作用。我需要对以下内容做什么?

class ResourceSerializer(serializers.ModelSerializer):
    class Meta:
        model = Resource
        fields = ('id', 'name', ...)
        read_only_fields = ('id',)

 class BulkMixin:
     def get_serializer(self, *args, **kwargs):
        if isinstance(kwargs.get('data', {}), list):
            kwargs['many'] = True
            kwargs['partial'] = True

        return super().get_serializer(*args, **kwargs)

class ResourceViewSet(BulkMixin, viewsets.ModelViewSet):
    serializer_class = ResourceSerializer
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

自动化Python软件包发布过程

我刚刚启动了一个开放源代码的Python项目,希望有一天它会流行起来。目前要发布新版本,我必须做一些事情。

  1. 测试所有东西。
  2. 编辑mypackage.VERSION变量,该变量setup.py__init__
  3. python setup.py sdist bdist_wheel
  4. 将变更日志条目写入CHANGELOG文件
  5. 提交我的更改,回显一些更改日志
  6. 标记为发布的标签,再次复制该变更日志条目。
  7. 拖入我的内置文件,以便人们可以从发行版中下载它们
  8. 使用Twine将软件包推到PyPI上
  9. 通过PyPI在我的登台服务器上再次测试。

如果我必须用9个要点来总结我对项目的所有不满,我想我们会在一个非常相似的列表中找到。切入的是过去我编了一个新版本号并写了commit / changelog消息,这很痛苦。

我是否可以通过某种方式使这些任务自动化,例如,让GitHub CI可以仅通过提交完成所有任务

我已经拥有十年的Python经验和一点CI,但是对于打包Python并与PyPI进行积极的交互我还是很陌生。我怀疑我不是唯一一个被手动重复困扰的人,我只是在寻找可以简化此过程的工具(或服务)。

python continuous-integration build pypi python-packaging

10
推荐指数
2
解决办法
429
查看次数

基于仅存在于新版本中的字段的条件 Django 迁移

我的应用程序目前依赖于 Postgres 和 Django 的 Postgres-only JSONField。该领域运作良好,我对另一个项目不感兴趣,但我有一些潜在用户想要使用我的应用程序,但在它依赖 Postgres 时却不能。

Django 3.1 有这个字段的跨平台版本——它可以满足我的需求——但我不想强迫每个人都使用 Django 3.1;我想为人们提供 Postgres 或 Django 3.1+ 之间的选择。在纸面上,这很简单,有条件导入......

try:
    from django.db.models import JSONField
except ImportError:
    from django.contrib.postgres.fields import JSONField
Run Code Online (Sandbox Code Playgroud)

如果我安装的Django 3.1和产生迁移,它可以把我从django.contrib.postgres.fields.JSONFielddjango.db.models.JSONField。但...

  • 新用户仍将执行初始迁移。我仍然会依赖 Postgres。
  • Sub-Django 3.1 用户将无法执行新的迁移。我现在依赖于 Django 3.1。

这比我开始时更糟。我如何以适合所有人的方式进行这种现场迁移?

django backwards-compatibility django-models django-migrations

9
推荐指数
2
解决办法
1533
查看次数