首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    08.Django基础六之ORM中的锁和事务

    这个功能使用起来非常简单,你只需要将它的配置项ATOMIC_REQUESTS设置为True。     它是这样工作的:当有请求过来时,Django会在调用视图方法前开启一个事务。...', ......  } #还可以配置其他数据库 }     上面这种方式是统一个http请求对应的所有sql都放在一个事务中执行(要么所有都成功,要么所有都失败)。...do_stuff()     用法2:作为上下文管理器来使用,其实就是设置事务的保存点 from django.db import transaction def viewfunc(request):...下面的是函数嵌套上下文的例子: from django.db import IntegrityError, transaction @transaction.atomic def viewfunc(request...担心主要集中在DatabaseError和它的子类(如IntegrityError)。如果这种异常真的发生了,事务就会被破坏掉,而Django会在代码运行完后执行回滚操作。

    2.6K40

    Django + Celery 任务无声失败的排查与解决

    在维护一个Django项目时,遇到一个让人头疼的bug:Celery异步任务莫名其妙地失败,没有任何错误日志,任务就像人间蒸发一样。...上传的文件是Django的TemporaryUploadedFile,传给Celery时可能序列化失败,导致任务无声失败。...file.read()#读取文件内容task=process_csv.delay(file_content)returnJsonResponse({'task_id':task.id})5.增加日志与超时为了定位无声失败...任务序列化问题:改用文件内容而非路径,避免Django文件对象的序列化问题。...序列化要小心:Celery任务参数必须是可序列化的,Django的文件对象之类要特别注意。资源管理关键:Redis内存不足会导致任务丢失,生产环境得监控资源使用情况。

    29710

    django form使用

    在django中,可以使用form来进行表单验证,甚至自动生成样式(虽然不怎么好看) 1 生成form类 下面是一个典型的form类。...u"时间", error_messages= \         {'required': u'时间不能为空', 'invalid': u'请输入正确的时间'}, \         initial=django.utils.timezone.now...2 使用这个Form 定义完这个form后,就应该写响应代码了。...3 设定它的templates 3.1 简单设置 在form中,可以使用系统自带的函数来生成相关的控件,有下面几个函数: {{ form.xx.errors }}   显示form验证返回的错误,验证在...生成内容控件,比如一个textarea控件 {{form.xx.label}}  只生成form的label,不生成标签 {{form.xx.value}}  显示字段的值 甚至还可以使用

    1.3K10

    Django使用django-apscheduler的问题

    Django定时任务 由于业务需要,后台要有一个定时任务的功能,起初考虑单独出来使用Linux系统的corn来实现。但是考虑到这样会很不方便。...于是便寻找定时任务的模块,就找到了APScheduler,考虑到要在Django中使用,后来就采用了django-apscheduler来作为定时任务的模块,但是这个模块本身有bug。...Django定时任务不要使用django-apscheduler模块,直接使用APScheduler模块即可。...APScheduler官方使用指南,在这份指南中明确指出django-apscheduler并不是官方支持的。...使用APScheduler 现在,我们避免了django-apscheduler模块抛出异常问题,但是我们还有一个问题等待解决,那就是uWsgi使用多进程模式启动Django项目,因此我们会有多个进程去执行这个定时任务

    2.8K30
    领券