小编zel*_*nix的帖子

Android"最佳实践"从对话框返回值

从复杂的自定义对话框(例如,文本字段,日期或时间选择器,一堆单选按钮等)以及"保存"和"取消"按钮将值返回到调用活动的"正确"方法是什么?

我在网上看到的一些技术包括:

  • Dialog派生类中的公共数据成员,可以由Activity读取

  • 公共"获取"访问者..."......" ."

  • 有意向启动的对话框(而不是显示() ),加上在对话框类处理它采取从各种控制输入和捆绑起来传递回活动,所以当听众打"保存"捆绑传回使用 ReturnIntent()

  • Activity中的监听器处理对话框中控件的输入,例如,TimePicker或DatePicker的监听器实际上在Activity中.在这个方案中,几乎所有的工作都在活动中完成

  • "活动"中的一个监听器为"保存"按钮,然后活动直接询问对话框中的控件; 活动解除了对话框.

......加上我已经忘记的更多.

是否有一种被认为是规范正确或"最佳实践"方法的特定技术?

android

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

在Django中获取请求正文作为字符串

我正在向一个Django服务器发送一个带有JSON主体的POST请求(相当标准).在服务器上我需要使用解码json.loads().

问题是我如何以字符串格式获取请求的主体?

我目前有以下代码:

body_data = {}
if request.META.get('CONTENT_TYPE', '').lower() == 'application/json' and len(request.body) > 0:
    try:
        body_data = json.loads(request.body)
    except Exception as e:
        return HttpResponseBadRequest(json.dumps({'error': 'Invalid request: {0}'.format(str(e))}), content_type="application/json")
Run Code Online (Sandbox Code Playgroud)

但是,这会产生错误the JSON object must be str, not 'bytes'.

如何应用正确的编码来检索请求的正文作为字符串?

python django

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

是否管理/自动更新Amazon Lightsail实例?

我一直在研究Amazon Lightsail,但有一件事我无法找到任何信息.

实例是否自动管理和更新?特别是,我想到OS/Web服务器安全更新.

使用EC2,我必须不时登录以执行操作系统升级,更新和安装安全补丁.这对于EC2来说很好,但我现在正在设置一个VPS,我基本上可以安装和忘记,至少在系统方面.

如果这是在错误的网站上,请道歉,但毕竟这里有一个标签.

cloud vps amazon-web-services amazon-lightsail

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

使用MongoEngine和Q构造查询会抛出InvalidQueryError

我正在尝试or使用MongoEnginedjango.db.models.Q类构造一个简单的查询.

我的代码(从中运行./manage.py shell)是:

from db.models import User
from django.db.models import Q

User.objects.filter(Q(username='foo') | Q(email='bar'))
Run Code Online (Sandbox Code Playgroud)

models.py只是

from mongoengine import *

class User(Document):
    username = StringField()
    email = StringField()
Run Code Online (Sandbox Code Playgroud)

我尝试了几个不同的版本,并始终得到以下错误:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "venv/lib/python2.7/site-packages/mongoengine/queryset/base.py", line 193, in filter
    return self.__call__(*q_objs, **query)
  File "venv/lib/python2.7/site-packages/mongoengine/queryset/base.py", line 109, in __call__
    raise InvalidQueryError(msg)
InvalidQueryError: Not a query object: (OR: ('username', 'foo'), ('email', 'bar')). Did you intend to …
Run Code Online (Sandbox Code Playgroud)

python django mongoengine

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