在Android手机上,注册到应用程序的SMS消息也会发送到设备的收件箱.但是,为了防止混乱,能够从收件箱中删除特定于应用程序的SMS消息以减少这些消息的潜在溢出是很好的.
关于从Android收件箱中删除短信的程序化方式获得明确答案的其他Google网上论坛的问题似乎并不紧迫.
场景如下:
它完成了吗?可以吗?
我们有一些Django设置通过代理(Apache和Nginx),最终进入实际的Django运行时.
我们需要在我们的网络中进行端到端的HTTPS.我们一直在重新审视Gunicorn,因为它在我们的其他设置中取得了成功和性能,但需要使用端到端的HTTPS进行测试才能保持一致.
我们的拓扑结构如下:
https://foo.com - > [面向公众的代理] - >(https) - > [内部服务器https:// 192 ...:8001]
如何配置Gunicorn使用自签名证书监听HTTPS?
我正在建立一个需要维护案例跟踪系统的服务.这是我们的模型:
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) 我有一个库类,它取决于它是如何导入的,一个依赖于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) 这是关于中间件和视图通信的 SO线程的一个非常类似的问题
我们希望为模板提供一组标准的上下文变量.因此,上下文处理器似乎是合适的,但是,上下文处理器似乎不是视图感知的.我们之前被迫检查调用堆栈以获取有关视图正在执行什么操作的上下文信息.
这就是我们看到中间件线程以及中间件的process_view()
签名,它为我们提供了视图的句柄.
这似乎更接近我们的需求,但不允许我们修改上下文变量,其他中间件方法也没有.
因此,我们最初的想法是使用我们模板所需的所有全局和上下文信息来修改请求对象,并强制模板从{{request.something}}
我们需要的特定信息中调用,例如{{request.viewname}}
.
所以,我们的问题:
middleware.process_response
有机会修改上下文或是不可变的?我们从一个只给我们多部分/混合编码的设备接收一些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) 我的应用程序试图用一些基本的审计/日志记录功能包装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)