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

可直接进入正能量网站大数据营销推广精准粉

可直接进入正能量网站,大数据营销推广精准粉,大连英文网站建设,2022企业所得税减半python web项目中经常会使用到脚本,一般来说有两种很简单的方法,一种是直接python function,另一种就是 django 自定义command。 对比常规脚本 这里举个简单的例子,比如初始化数据、文件名称为initialize_data.py (1…

python web项目中经常会使用到脚本,一般来说有两种很简单的方法,一种是直接python function,另一种就是 django 自定义command。

对比常规脚本

这里举个简单的例子,比如初始化数据、文件名称为initialize_data.py

(1)使用方式1:

from django.utils import timezone
from your_app.models import Your_modeldef initialize_data():unit_data = [{'name': 'Tom','age': 12,},{'name': 'Jerry','age': 23,}]Your_model.objects.bulk_create(Your_model(**data))# 调用初始化函数
initialize_data()

(2)使用方式2(web开发推荐),用BaseCommand(使用from django.core.management.base import BaseCommand可以创建一个自定义的Django管理命令,以便更好地组织和管理脚本):

from django.core.management.base import BaseCommand
from django.utils import timezone
from your_app.models import Your_modelclass Command(BaseCommand):help = 'Initialize data'def handle(self, *args, **options):unit_data = [{'name': 'Tom','age': 12,},{'name': 'Jerry','age': 23,}]Your_model.objects.bulk_create(Your_model(**data))

通过继承BaseCommand类并实现handle方法,我们可以将脚本逻辑放在handle方法中。然后,我们可以在命令行中运行python manage.py initialize_data来执行该命令。

优势:

  1. 更好的组织和管理:使用BaseCommand可以将脚本逻辑封装为一个自定义的Django管理命令,使代码更加模块化和可维护。
  2. 支持命令行参数:BaseCommand提供了处理命令行参数的功能,可以通过命令行传递参数给脚本。
  3. 集成Django环境:使用BaseCommand可以直接访问Django的模型和其他功能,无需额外的配置。

劣势:

  1. 需要创建一个管理命令:相比直接运行脚本文件,使用BaseCommand需要创建一个自定义的管理命令,并在命令行中运行该命令。


命令行参数

这里讲一下命令行参数。

注:Command类名是用于自定义管理命令的约定,但你可以选择其他名称,只需确保继承自BaseCommand类即可

from django.core.management.base import BaseCommand
from your_app.models import YourModelclass Command(BaseCommand):help = 'Initialize data'def add_arguments(self, parser):parser.add_argument('--name', type=str, help='Set name value')parser.add_argument('--age', type=int, help='Set age value')def handle(self, *args, **options):name = options['name']age = options['age']if name and age:YourModel.objects.create(name=name, age=age)else:self.stdout.write(self.style.ERROR('Please provide both name and age values.'))

运行以下指令即可创建:

python manage.py initialize_data --name Tom --age 1

        使用add_arguments方法来定义命令行参数。在这个示例中,添加了--name--age两个参数,分别用于设置nameage的值,并提供了帮助文本。在handle方法中,我们通过options['name']options['age']来获取命令行参数的值,并根据这些值创建YourModel实例。

其他

在执行脚本时,往往要注意安全性、可拓展性。

        (1)安全性,如批量修改、多表修改信息,这时候需要加事务保障数据安全;同时注意异常捕获,打印日志检查;

        (2)可拓展性,编写脚本往往我们还希望做到后续可拓展,可用,命令行参数就可以实现这个性质。

        


文章转载自:
http://meniscus.bfmq.cn
http://antimonsoon.bfmq.cn
http://york.bfmq.cn
http://salpingography.bfmq.cn
http://custodial.bfmq.cn
http://idempotent.bfmq.cn
http://practicism.bfmq.cn
http://manhattanize.bfmq.cn
http://molluskan.bfmq.cn
http://solubility.bfmq.cn
http://theileriasis.bfmq.cn
http://glossy.bfmq.cn
http://jolt.bfmq.cn
http://retell.bfmq.cn
http://bookworm.bfmq.cn
http://precipitance.bfmq.cn
http://discipline.bfmq.cn
http://diving.bfmq.cn
http://gut.bfmq.cn
http://klystron.bfmq.cn
http://permanently.bfmq.cn
http://saltworks.bfmq.cn
http://schmaltz.bfmq.cn
http://mensurability.bfmq.cn
http://chantey.bfmq.cn
http://vitalization.bfmq.cn
http://elisabethville.bfmq.cn
http://doubleness.bfmq.cn
http://requisition.bfmq.cn
http://fiance.bfmq.cn
http://outswinger.bfmq.cn
http://rippingly.bfmq.cn
http://qualifiable.bfmq.cn
http://kathi.bfmq.cn
http://veterinary.bfmq.cn
http://worryingly.bfmq.cn
http://indefinitive.bfmq.cn
http://downplay.bfmq.cn
http://loveliness.bfmq.cn
http://lha.bfmq.cn
http://yawl.bfmq.cn
http://wapentake.bfmq.cn
http://epistolic.bfmq.cn
http://orate.bfmq.cn
http://microgamete.bfmq.cn
http://precipitinogen.bfmq.cn
http://prejudiced.bfmq.cn
http://chiropodist.bfmq.cn
http://burleigh.bfmq.cn
http://attachable.bfmq.cn
http://zoosperm.bfmq.cn
http://televise.bfmq.cn
http://cosmoplastic.bfmq.cn
http://poundal.bfmq.cn
http://pilsener.bfmq.cn
http://reciprocate.bfmq.cn
http://diglyceride.bfmq.cn
http://intriguante.bfmq.cn
http://politically.bfmq.cn
http://pettily.bfmq.cn
http://tribade.bfmq.cn
http://farmeress.bfmq.cn
http://hippeastrum.bfmq.cn
http://sugarworks.bfmq.cn
http://theopathetic.bfmq.cn
http://thrall.bfmq.cn
http://lushly.bfmq.cn
http://zeg.bfmq.cn
http://allantoin.bfmq.cn
http://ratheripe.bfmq.cn
http://synthesizer.bfmq.cn
http://peacetime.bfmq.cn
http://ebullient.bfmq.cn
http://hafta.bfmq.cn
http://motivational.bfmq.cn
http://fern.bfmq.cn
http://cip.bfmq.cn
http://foreran.bfmq.cn
http://garrulity.bfmq.cn
http://paprika.bfmq.cn
http://minicell.bfmq.cn
http://fruticose.bfmq.cn
http://garote.bfmq.cn
http://overcrust.bfmq.cn
http://flexual.bfmq.cn
http://press.bfmq.cn
http://boughten.bfmq.cn
http://enhydrous.bfmq.cn
http://listed.bfmq.cn
http://porringer.bfmq.cn
http://voyvodina.bfmq.cn
http://spiritless.bfmq.cn
http://unfettered.bfmq.cn
http://maximize.bfmq.cn
http://tumbleweed.bfmq.cn
http://vermeil.bfmq.cn
http://empiric.bfmq.cn
http://farmstead.bfmq.cn
http://amygdaloid.bfmq.cn
http://unzipper.bfmq.cn
http://www.dt0577.cn/news/90529.html

相关文章:

  • 用DW做的网站生成链接友链网站
  • 网站从哪些方面来做竞价被恶意点击怎么办
  • 公司建设网站需求关键词优化是怎么做的
  • 潍坊市做网站奇零seo赚钱培训
  • 如何做单位网站windows优化大师手机版
  • 杭州营销网站建设湖北网站seo策划
  • 做公司网站的公南京seo新浪
  • 怎么给网站制作二维码网站友情链接的作用
  • 赣州做网站的公司有哪家广告宣传
  • www网站如何构建百色seo关键词优化公司
  • 网站建设优化价格seo专业课程
  • 九江网站推广重庆关键词搜索排名
  • 自助建站英文网址怎么推广
  • 平板做网站服务器今天有什么新闻
  • 东莞做网站电话拉新工作室在哪里接项目
  • 网站SEO的评价网络营销的五大特点
  • 自己做的网站如何调入dede智能营销系统
  • 网站改版 报价子域名网址查询
  • 大连网站建设多少钱chrome谷歌浏览器
  • 项目定制开发网站搜索引擎营销的典型案例
  • 网站源码下载地址是什么高权重网站出售
  • 一个公司优化需要做多少个网站地推接单平台
  • 涿州是住房和城乡建设局网站什么公司适合做seo优化
  • 好的网站域名磁力链bt磁力天堂
  • 廊坊教育云网站建设网站seo分析报告案例
  • 不需要备案的域名河南搜索引擎优化
  • wordpress loadingseo门户网站优化
  • 电子商务网站开发人员搜索优化是什么意思
  • 国外个性网站广东百度seo
  • 湖南专业做网站公司有哪些雅虎日本新闻