当前位置: 首页 > news >正文

能免费做网站吗nas 可以做网站吗

能免费做网站吗,nas 可以做网站吗,什么是网站建设?,找公司制作app多少钱在Django中#xff0c;transaction.atomic()是一个上下文管理器#xff0c;它会自动开始一个事务#xff0c;并在代码块执行完毕后提交事务。如果在代码块中抛出异常#xff0c;事务将被自动回滚#xff0c;确保数据库的一致性和完整性。 在实际应用中#xff0c;你可能需…        在Django中transaction.atomic()是一个上下文管理器它会自动开始一个事务并在代码块执行完毕后提交事务。如果在代码块中抛出异常事务将被自动回滚确保数据库的一致性和完整性。 在实际应用中你可能需要根据具体的业务逻辑来决定何时抛出异常以触发事务回滚。例如如果某个操作依赖于另一个操作的成功那么在第一个操作失败时你可能需要抛出异常以防止后续操作被执行从而保持数据的一致性。 1添加模型 Test/app11/models.py from django.db import modelsclass Post(models.Model):title models.CharField(max_length200)content models.TextField()pub_date models.DateTimeField(date published)class Book(models.Model):title models.CharField(max_length100)author models.CharField(max_length100)publication_date models.DateField()price models.DecimalField(max_digits5, decimal_places2)def __str__(self):return self.title 2添加视图函数 Test/app11/views.py 2.1 装饰器写法 from django.http import HttpResponse from django.db import transaction from .models import Post, Book from django.utils import timezonedef atomic_transaction(func):def wrapper(*args, **kwargs):with transaction.atomic():try:return func(*args, **kwargs)except Exception as e:# 在这里可以添加错误日志记录或其他错误处理逻辑print(fAn error occurred: {e})# 由于在transaction.atomic()上下文中异常将自动触发事务回滚return wrapperatomic_transaction def create_post_and_book(request):post_title New Post4book_title New Book4post Post(titlepost_title, contentThis is the content of the new post., pub_datetimezone.now())post.save()book Book(titlebook_title, authorAuthor Name, publication_datetimezone.now().date(), price29.99)book.save()# 故意引发异常以测试回滚# if True:# raise Exception(An error occurred)print(Post and Book created successfully.)return HttpResponse(Post and Book created successfully.) 2.2 with写法 from django.http import HttpResponse from django.db import transaction from .models import Post, Book from django.utils import timezonedef create_post_and_book(request):post_title New Post3book_title New Book3with transaction.atomic():post Post(titlepost_title, contentThis is the content of the new post., pub_datetimezone.now())post.save()# 故意引发异常以测试回滚if True:raise Exception(An error occurred)book Book(titlebook_title, authorAuthor Name, publication_datetimezone.now().date(), price29.99)book.save()return HttpResponse(Post and Book created successfully.) 3添加路由应用 Test/app11/urls.py from django.urls import path from . import viewsurlpatterns [path(create_post_and_book/, views.create_post_and_book, namecreate_post_and_book), ] 4访问页面 http://127.0.0.1:8000/app11/create_post_and_book/ 当你的代码中抛出异常如raise Exception(An error occurred)这会中断程序的正常执行流程。在Django的事务处理中如果在transaction.atomic()的上下文中抛出异常Django会捕获这个异常并自动回滚事务确保任何在事务开始后所做的数据库更改不会被永久保存。 可以看到数据并没有被保存到 在这个例子中由于if True:条件总是为真因此raise Exception(An error occurred)这一行代码将总是抛出异常。结果transaction.atomic()会捕获这个异常并回滚事务这意味着Post和Book对象都不会被保存到数据库中因为事务没有成功提交。这是Django事务处理的一个关键特性它确保了数据的一致性和完整性避免了部分完成的事务可能导致的数据库状态不一致问题。
http://www.hkea.cn/news/14333497/

相关文章:

  • 嘉兴百度网站推广wordpress定期修改密码
  • 如何制作一个手机网站潮州建设局网站
  • 室内设计网站图片济宁亿蜂网站建设
  • 行业seo网站优化方案制作app软件需要用到哪些技术
  • 苏州高端网站制作华夏建筑工程网
  • 哪个软件可以做明星视频网站制作视频剪辑
  • 如何知道一个网站是用什么做的俄语网站建设注意事项
  • ps免抠素材网站大全黄岩路桥网站设计
  • 建设 银行网网站深圳建网站兴田德润可信
  • 有做教育行业的招聘网站吗北京搭建工厂
  • 行业应用网站建设成本怎么才能让百度收录网站
  • 个人做网站平台汕头在线制作网站
  • 上海网站外包正邦设计待遇怎么样
  • 科技公司网站模板官网快速搭建网站的软件
  • 粮食网站建设的背景及意义自己电脑做网站服务器设置
  • 自己做的网站在百度怎么发布产品介绍网站设计怎么做
  • 什么企业适合做网站备案信息 网站名
  • 国外单页制作网站模板优化大师官方下载
  • 京鑫建设集团网站wordpress添加js文件
  • 沧州网站制作的流程wordpress管理员密码
  • 中建国能建设集团网站wordpress wp-stats
  • 美术馆网站网页设计方案做网站怎么兼容所有浏览器
  • 拟定建设方案物流网站网络设计初步方案包括
  • 网站不可以做哪些东西WORDPRESS自定义加载不出来
  • 响应式网站的制作东莞模板网页制作
  • fomo3d网站开发网站建设攵金手指科杰壹陆
  • 网站开发软件三剑客产品市场推广途径
  • 做网站费用会计科目怎样优化自己的网站
  • 360浏览器屏蔽某网站怎么做如何注册一家投资公司
  • 西安微信网站做网站商机