小编dmy*_*ung的帖子

如何以编程方式从Android收件箱中删除短信?

在Android手机上,注册到应用程序的SMS消息也会发送到设备的收件箱.但是,为了防止混乱,能够从收件箱中删除特定于应用程序的SMS消息以减少这些消息的潜在溢出是很好的.

关于从Android收件箱中删除短信的程序化方式获得明确答案的其他Google网上论坛的问题似乎并不紧迫.

场景如下:

  • Android App启动.
  • 注册SMS消息类型X,Y和Z.
  • 消息P,Q,X,Y,Z流经过一段时间,全部存放在收件箱中
  • Android应用程序检测到X,Y,Z的接收(可能是程序中断事件的一部分)
  • 过程X,Y,Z
  • Desirement!X,Y,Z将从Android收件箱中删除

它完成了吗?可以吗?

sms android

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

在https上运行gunicorn?

我们有一些Django设置通过代理(Apache和Nginx),最终进入实际的Django运行时.

我们需要在我们的网络中进行端到端的HTTPS.我们一直在重新审视Gunicorn,因为它在我们的其他设置中取得了成功和性能,但需要使用端到端的HTTPS进行测试才能保持一致.

我们的拓扑结构如下:

https://foo.com - > [面向公众的代理] - >(https) - > [内部服务器https:// 192 ...:8001]

如何配置Gunicorn使用自签名证书监听HTTPS?

ssl https gunicorn

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

django在使用多个外键查询模型时的性能如何?

我正在建立一个需要维护案例跟踪系统的服务.这是我们的模型:

class Incident(models.Model):    
    title = models.CharField(max_length=128)
    category = models.ForeignKey(Category)
    status = models.ForeignKey(Status)    
    severity = models.ForeignKey(Severity)
    owned_by = models.ForeignKey(User, related_name="owned_by", null=True, blank=True)   
    next_action = models.ForeignKey(IncidentAction)    
    created_date  = models.DateTimeField()
    created_by = models.ForeignKey(User, related_name="opened_by")    
    last_edit_date = models.DateTimeField(null=True, blank=True)
    last_edit_by = models.ForeignKey(User, related_name="last_edit_by", null=True, blank=True)        
    closed_date  = models.DateTimeField(null=True, blank=True)
    closed_by = models.ForeignKey(User, related_name="Closed by", null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

因为有很多外键被引入这个模型,所以它会产生有趣的sql查询.我们一直在使用djblets数据网格和django调试工具栏作为试用版,并且每次为使用外键的视图添加新列时,每次查询的查询数量都很惊人,它基本上是这种类型的查询工作流程

#prepare the grid
select * from incident_table;
#render each row
for each row in incident table
    for each column that is a foreign key select …
Run Code Online (Sandbox Code Playgroud)

django django-models

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

获得类的自我.__模块___无论如何导入

我有一个库类,它取决于它是如何导入的,一个依赖于self.__module__识别改变行为的方法 - 取决于我是相对还是绝对地导入它.有没有办法强制self.__name__类的属性绝对返回自己?

我意识到一个解决方案是强制每个人以相同的方式导入子类,但是想知道是否有办法从库的角度强制它.

总结结构

我在库中有一个模块

project/
    mylib/
        foo.py
            LibraryClass
            def get_name(self):
                return "%s.%s.%s" % \
                    (self.__module__, self.__class__.__name__, self.some_init_property)
    prog/
        utils.py
            fooClass(LibraryClass)
        bar.py
            def some_func()
               #see below
Run Code Online (Sandbox Code Playgroud)

mylib,我有一个导入器LibraryClass通过我们的django项目的设置文件中的类名字符串导入所有子类.

基本上,我们看到的行为取决于您的导入方式.所以我在bar.py中观察到两种行为:

def some_func_absolute():
    from prog.utils import fooClass
    f = fooClass("lalala")
    print f.get_name()
    #prints prog.utils.fooClass.lalala
Run Code Online (Sandbox Code Playgroud)

 def some_func_relative():
    from utils import fooClass
    f = fooClass("lalala")
    print f.get_name()
    #prints foo.fooClass.lalala
Run Code Online (Sandbox Code Playgroud)

python

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

中间件与上下文处理器,用于视图相关的导航/显示

这是关于中间件和视图通信的 SO线程的一个非常类似的问题

我们希望为模板提供一组标准的上下文变量.因此,上下文处理器似乎是合适的,但是,上下文处理器似乎不是视图感知的.我们之前被迫检查调用堆栈以获取有关视图正在执行什么操作的上下文信息.

这就是我们看到中间件线程以及中间件的process_view()签名,它为我们提供了视图的句柄.

这似乎更接近我们的需求,但不允许我们修改上下文变量,其他中间件方法也没有.

因此,我们最初的想法是使用我们模板所需的所有全局和上下文信息来修改请求对象,并强制模板从{{request.something}}我们需要的特定信息中调用,例如{{request.viewname}}.

所以,我们的问题:

  • 修改/设置请求对象上的值是否可以将上下文/全局应用程序特定信息推送到模板?或者标准做法总是把它放到上下文中?
  • 是否有方法/技巧使上下文处理器视图意识到不涉及显式传递它或进行一些堆栈内省?
  • 是否middleware.process_response有机会修改上下文或是不可变的?

django

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

可以开箱即用接收多部分/混合POST吗?

我们从一个只给我们多部分/混合编码的设备接收一些xml +任意二进制文件(如图像和音频)的POST数据.

我为接收器端设置了一个cherrypy上传/ POST处理程序.我已经设法允许它使用multipart/form-data执行任意数量的参数.但是,当我们尝试发送多部分混合数据时,我们没有得到任何处理.

@cherrypy.expose
def upload(self, *args,**kwargs):
    """upload adapted from cherrypy tutorials

    We use our variation of cgi.FieldStorage to parse the MIME
    encoded HTML form data containing the file."""

    print args   
    print kwargs

    cherrypy.response.timeout = 1300

    lcHDRS = {}
    for key, val in cherrypy.request.headers.iteritems():
        lcHDRS[key.lower()] = val
    incomingBytes = int(lcHDRS['content-length'])

    print cherrypy.request.rfile 

    #etc..etc...
Run Code Online (Sandbox Code Playgroud)

因此,在提交multipart/form-data时,args和kwargs定义得很好.
args是表单字段,kwargs =变量和值的哈希.当我提交multipart/mixed时,args和kwargs是空的,我只是将cherrypy.request.rfile作为原始POST信息.

我的问题是,cherrypy是否有一个内置的处理程序来处理POST的多部分/混合和分块编码?或者我是否需要覆盖cherrypy.tools.process_request_body并滚动我自己的解码器?

似乎内置的wsgi服务器与cherrypy处理这是HTTP/1.1规范的一部分,但我似乎无法在cherrypy中找到访问此功能的文档.


...澄清

我使用的是Cherrypy的3.1.1左右的最新版本.

制作默认表单只涉及在upload函数中创建参数.

对于multipart/form-data,我一直在调用curl -F param1 = @ file1.jpg -F param2 = sometext -F param3 =@file3.wav http:// destination:port/upload

在那个例子中,我得到:

args = …
Run Code Online (Sandbox Code Playgroud)

python cherrypy

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

Monkey修补了django auth的登录,现在它的测试失败了

我的应用程序试图用一些基本的审计/日志记录功能包装django.contrib.auth.views登录和注销视图.我遵循django-axes项目中描述的处方,并且在运行服务器和其他一些测试时,它按预期工作,透明地没有问题.

代码如下:

from django.contrib.auth import views as auth_views
from myapp.watchers import watch_login

class WatcherMiddleware(object):
    def __init__(self):
        auth_views.login = watch_login(auth_views.login)
Run Code Online (Sandbox Code Playgroud)

def watch_login(func):
    def decorated_login(request, *args, **kwargs):
        #do some stuff
        response = func(request, *args, **kwargs)
        #more stuff
        return response
    return decorated_login
Run Code Online (Sandbox Code Playgroud)

网址:

#Edit: Added project's urls - just using vanilla django's auth login
(r'^accounts/login/$', 'django.contrib.auth.views.login',{"template_name":settings.LOGIN_TEMPLATE }),
Run Code Online (Sandbox Code Playgroud)

但是,在我们的构建工作流程中,我们遇到了django.contrib.auth.tests.views中的一些问题.

具体来说,这些是django.contrib.auth中失败的测试:

ERROR: test_current_site_in_context_after_login (django.contrib.auth.tests.views.LoginTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\django\contrib\auth\tests\views.py", line 192, in test_current_site_in_context_after_login
    response = self.client.get(reverse('django.contrib.auth.views.login'))
  File "C:\Python26\lib\site-packages\django\core\urlresolvers.py", line …
Run Code Online (Sandbox Code Playgroud)

django monkeypatching django-authentication

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