在我的Django项目中,我使用sqlite数据库来运行测试.因为它只使用内存,所以它比MySQL快得多,但它仍然不够快.在测试期间,仅使用4个处理器中的一个,并且消耗的内存不多.所以,我想在内存中有4个sqlite数据库来并行运行4个测试.
有没人试过这个?
我有以下代码,在Django 1.2.5中工作正常:
from django.views.decorators.csrf import csrf_exempt
class ApiView(object):
def __call__(self, request, *args, **kwargs):
method = request.method.upper()
return getattr(self, method)(request, *args, **kwargs)
@csrf_exempt
class MyView(ApiView):
def POST(self):
# (...)
return HttpResponse(json.dumps(True), mimetype="text/javascript")
Run Code Online (Sandbox Code Playgroud)
但是当我升级到Django 1.4时,我开始禁止403,"CSRF验证失败"消息.
为什么@csrf_exempt装饰工作不起作用?
网址定义是:
from django.conf.urls.defaults import *
from django.views.decorators.csrf import csrf_exempt
import views
urlpatterns = patterns('',
url(r'^myview/(?P<parameter_name>[A-Za-z0-9-_]+)/$',
views.MyView(),
name="myproject-myapp-myview",
),
)
Run Code Online (Sandbox Code Playgroud) 我开始开发一个简单的Tornado应用程序,我希望在开发时看到请求登录stdout.目前我只看到404警告消息.
有没有办法在stdout中打印所有请求?
当我在Django中运行我的测试时,失败后我从南方获得了几页调试输出,如下所示:
south: DEBUG: south execute "CREATE INDEX "sometable_4d5bad5" ON "video_playable" ("network_id");" with params "[]"
south: DEBUG: south execute "CREATE INDEX "sometable_790e6d98" ON "video_playable" ("published");" with params "[]"
south: DEBUG: south execute "CREATE INDEX "sometable_72312277" ON "video_playable" ("archived");" with params "[]"
Run Code Online (Sandbox Code Playgroud)
并且通过所有这些日志记录输出,相关的错误消息在垃圾海中丢失.有没有办法禁用这个输出?
我在我的Django应用程序中有一组测试用于传递,但在软件演变的某些时候,我开始在运行测试时得到这种消息:
错误:无法刷新数据库test_totomanager_demo.可能的原因:
*数据库未运行或未正确配置.
*至少有一个预期的数据库表不存在.
*SQL无效.
提示:查看'django-admin.py sqlflush'的输出.这是SQL命令无法运行的.
完整错误:(1105,"MyISAM表'video_videoinstallation'正在使用中(最有可能是MERGE表).尝试FLUSH TABLES.")
数据库是MySQL.
此错误开始发生的确切测试是不可预测的.这不是第一次发生,但是经过一两次尝试之后它已经过去了,这次我无法让测试结束.
有关如何避免这种情况的任何提示?
在 GeoDjango 中,两个有两个包含几何字段的模型:
from django.contrib.gis.db import models
class Country(models.Model):
territory = models.MultiPolygonField()
language = models.CharField(max_length=2)
class House(models.Model):
location = models.PointField()
Run Code Online (Sandbox Code Playgroud)
我想进行一个查询,返回位于说英语的国家/地区的所有房屋。
Country 和 House 之间的关系应该通过House.location与相交来完成Country.territory。
我如何使用 GeoDjango 的 ORM 来实现这一点?
我正在用Python的xlwt编写Excel电子表格,我需要使用"."格式化数字.像千位分隔符,因为它是巴西葡萄牙语.
我试过了:
style.num_format_str = r'#,##0'
Run Code Online (Sandbox Code Playgroud)
它将千位分隔符设置为','.
如果我尝试设置num_format_str to '#.##0',我会将数字格式化为1234.000而不是1.234.如果我在OpenOffice中打开n文档并格式化单元格,我可以将单元格的语言设置为"Portuguese(Brazil)",然后OpenOffice会将格式代码显示为"#.##0",但是我找不到设置单元格的方法语言到巴西葡萄牙语.
有任何想法吗?
django ×5
python ×3
testing ×2
csrf ×1
debugging ×1
django-csrf ×1
django-south ×1
excel ×1
geodjango ×1
localization ×1
myisam ×1
mysql ×1
postgis ×1
tornado ×1
xlwt ×1