草庐IT

Django-imagekit

全部标签

python - Django 1.6 事务以避免竞争条件

我正在尝试使用Django1.6事务来避免我正在开发的游戏出现竞争条件。游戏服务器有一个简单的目标:将两名玩家配对。我目前的做法是:用户想玩服务器检查是否还有其他人在等着玩。如果没有,它会创建一个GameConnection对象(具有唯一标识符-uuid4)。如果存在,它获取GameConnection标识符并删除GameConnection。这是代码:#data['nickname']=user'schoicegames=GameConnection.objects.all()ifnotgames:game=GameConnection.objects.create(connecti

python - 在 Django 中使用类方法设置字段的默认值

我在网上发现了很多关于这个主题的类似帖子,但没有人明确说明问题出在哪里。代码classItem(models.Model):@classmethoddefget_next_item_number(cls):returncls.objects.count()+1number=models.IntegerField(default=get_next_item_number)问题当我访问Django管理面板时,与“数字”字段相关的文本字段包含所以我尝试修改上面的代码classItem(models.Model):@classmethoddefget_next_item_number(cls)

Django学习-武沛齐教程【day1】

参考https://www.bilibili.com/video/BV1NL41157ph快速上手创建项目django-adminstartproject项目名称默认项目文件介绍mysite/-manage.py【项目的管理、启动项目、创建app、数据管理】【不要动】-mysite/--__init__.py--settings.py【项目配置】【常常操作】--urls.py【URL和函数对应关系】【常常操作】--asgi.py【接收网络请求】【不要动】--wsgi.py【接收网络请求】【不要动】运行项目:pythonmanage.pyrunserver创建APPpythonmanage.py

python - 将自定义测试套件运行器与 pytest-django 一起使用

我想将我的Django(版本1.6x)应用程序切换为使用pytest-django进行测试。因此我通过pip安装了最新的pytest-django并获得了这些版本:pytest==2.6.4pytest-django==2.7.0对于常规的django测试,我正在使用自定义测试套件运行器扩展DjangoTestSuiteRunner,我在settings.py中配置了它:设置.py:TEST_RUNNER="dcmanager.tests.runner.ManagedModelTestRunner"运行者.py:importunittestfromdjango.confimportse

python - 在 Django 框架中使用动态模型

我目前正在使用Django框架,包括它的模型机制来抽象数据库模式声明和一般数据库访问,这在大多数情况下都可以正常工作。但是,我的应用程序还需要在运行时动态创建和访问表,据我所知,Django不支持开箱即用。这些表通常具有相同的结构,并且基本上可以由同一个模型类抽象,但Django不允许您更改某个模型查询的底层db_table,因为它是在模型类上声明的,而不是在管理器上声明的。我的解决方案是每当我需要创建、填充和访问新表时执行此过程:使用原始sql创建并填充表使用原始sql为表添加索引当我需要访问表(使用djangoquerysetapi)时,我动态声明一个新类型并将其作为查询模型返回,

python - django admin 错误地将 order by 添加到查询中

多亏了django调试工具栏,我注意到每个django管理列表页面总是在我的所有查询中添加一个“ORDERBYidDESC”,即使我手动覆盖admin.ModelAdmin的get_queryset方法(我通常这样做是因为我想在我的一些管理页面上进行自定义排序)我想这其实没什么好担心的,但这是数据库需要做的额外排序操作,即使它根本没有意义。有什么办法可以避免这种情况吗?似乎在某些模型上(甚至不是所有模型)如果我添加订购元数据,那么它不会自动按ID添加订单,但它会按该字段添加,这也是我不知道的'想要,因为这样做会将该orderby添加到代码中的所有其他查询中。编辑:似乎罪魁祸首在Chan

python - django:从迁移中排除模型

在我的django应用程序(django1.8)中,我使用了两个数据库,一个是“default”,它是MySQL,另一个是无模式的只读数据库。我有两个正在访问该数据库的模型,我想从数据和模式迁移中永久排除这两个模型:makemigrations不应该检测任何更改,并为它们创建迁移migrate不应该提示该应用程序缺少迁移到目前为止,我尝试了不同的方法,但都没有成功:在两个模型上都使用了managed=False元选项向我的路由器添加了一个allow_migrate方法,它为两个模型返回False有没有人举例说明如何实现这种情况?感谢您的帮助! 最佳答案

python - 在测试中连接 Django 信号处理程序

使用django-cacheops,我想测试我的View是否按照我的预期进行了缓存。在我的测试用例中,我将cacheopscache_read信号连接到一个处理程序,该处理程序应该为命中或未命中增加缓存中的值。但是,信号永远不会被触发。有谁知道在测试用例中连接django信号处理程序的正确方法,纯粹用于该测试用例?这是我目前所拥有的fromcacheops.signalsimportcache_readcache.set('test_cache_hits',0)cache.set('test_cache_misses',0)defcache_log(sender,func,hit,**

python - 在Django模板中以另一条记录的字段内容为标签显示未知数量的字段

我有一个Django应用程序,我希望能够在多个实例中使用它。一个模型(Listing)可以有可变数量的字段(针对不同的实例),但是对于实例总是会有那些额外的字段。我想通过管理员添加这些额外的字段,所以我创建了这样的模型:classBespokeField(models.Model):name=models.CharField(max_length=20,verbose_name="FieldTitle")def__unicode__(self):returnself.nameclassListing(models.Model):name=models.CharField(verbose

python - Django 应用引擎 : AttributeError: 'AnonymousUser' object has no attribute 'backend'

我正在使用djangoappengine。当我尝试创建新用户、对该用户进行身份验证并让他们登录时,出现以下错误AttributeError:'AnonymousUser'objecthasnoattribute'backend'。我的代码很简单,看起来像:user=User.objects.create_user(username,username,password)user.set_password(password)user.save()user=django.contrib.auth.authenticate(username=username,password=password