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

做网站与运营一般多少钱什么是seo

做网站与运营一般多少钱,什么是seo,杭州企业网站建设,pbootcms生成静态每次在启动Django服务之前,我们都会在终端运行python manage.py xxx的管理命令。其实我们还可以自定义管理命令,这对于执行独立的脚本或任务非常有用,比如清除缓存、导出用户邮件清单或发送邮件等等。 自定义的管理命令不仅可以通过manage.p…

每次在启动Django服务之前,我们都会在终端运行python manage.py xxx的管理命令。其实我们还可以自定义管理命令,这对于执行独立的脚本或任务非常有用,比如清除缓存、导出用户邮件清单或发送邮件等等。

自定义的管理命令不仅可以通过manage.py运行,还可以通过Linux或Celery的crontab服务将其设成定时任务。本文主要讲解如何自定义Django-admin命令,并提供一些演示案例。

 自定义Django-admin命令一共分三步:创建文件夹布局、编写命令代码和测试使用。

 1.创建文件夹布局

自定义的Django-admin管理命令本质上是一个python脚本文件,它的存放路径必须遵循一定的规范,一般位于app/management/commands目录。整个文件夹的布局如下所示:

 app01/__init__.pymodels.pymanagement/          #在app下创建management包__init__.pycommands/         #在management包下创建commands包__init__.py_private.py # 以下划线开头文件不能用作管理命令my_commands.py # 这个就是自定义的管理命令脚本,文件名即为命令名tests.pyviews.py

 

注意:

  • management和commands每个目录下都必须有个__init__.py空文件,表明这是一个python包。另外以下划线开头的文件名不能用作管理命令脚本。
  • management/commands目录可以位于任何一个app的目录下,Django都能找到它。
  • 一般建议每个python脚本文件对应一条管理命令。

 2.编写命令代码

每一个自定义的管理命令本质是一个Command类, 它继承了Django的Basecommand或其子类, 主要通过重写handle()方法实现自己的业务逻辑代码,而add_arguments()则用于帮助处理命令行的参数,如果运行命令时不需要额外参数,可以不写这个方法。

 from django.core.management.base import BaseCommandclass Command(BaseCommand):# 帮助文本, 一般备注命令的用途及如何使用。help = 'Some help texts'# 处理命令行参数,可选def add_arguments(self, parser):pass# 核心业务逻辑def handle(self, *args, **options):pass

实际应用场景

        案例1:检查数据库连接是否已就绪

无论你使用常规方式还是Docker在生产环境中部署Django项目,你需要确保数据库连接已就绪后才进行数据库迁移(migrate)的命令(Docker-compose的depends选项并不能确保这点),否则Django应用程序会出现报错。

这时你可以自定义一个wait_for_db的命令,如下所示:

 # app/management/commands/wait_for_db.pyimport timefrom django.db import connectionsfrom django.db.utils import OperationalErrorfrom django.core.management import BaseCommandclass Command(BaseCommand):help = 'Run data migrations until db is available.'def handle(self, *args, **options):self.stdout.write('Waiting for database...')db_conn = Nonewhile not db_conn:try:# 尝试连接db_conn = connections['default']except OperationalError:# 连接失败,就等待1秒钟self.stdout.write('Database unavailable, waiting 1 second...')time.sleep(1)self.stdout.write(self.style.SUCCESS('Database available!'))

 命令: python manage.py wait_for_db

案例2:周期性发送邮件


文章转载自:
http://lenition.hmxb.cn
http://polymolecular.hmxb.cn
http://simplist.hmxb.cn
http://cymagraph.hmxb.cn
http://sententia.hmxb.cn
http://aeromancy.hmxb.cn
http://epidiascope.hmxb.cn
http://backbreaking.hmxb.cn
http://cablephoto.hmxb.cn
http://dholl.hmxb.cn
http://redly.hmxb.cn
http://fake.hmxb.cn
http://alienor.hmxb.cn
http://hydrophyte.hmxb.cn
http://fave.hmxb.cn
http://chloritization.hmxb.cn
http://sermonize.hmxb.cn
http://aggregative.hmxb.cn
http://dogmatism.hmxb.cn
http://emerge.hmxb.cn
http://ascomycete.hmxb.cn
http://consubstantial.hmxb.cn
http://allsorts.hmxb.cn
http://peculiar.hmxb.cn
http://excommunicant.hmxb.cn
http://electroscope.hmxb.cn
http://resumption.hmxb.cn
http://responseless.hmxb.cn
http://nescience.hmxb.cn
http://rectangle.hmxb.cn
http://factorization.hmxb.cn
http://skytrooper.hmxb.cn
http://decompression.hmxb.cn
http://ignite.hmxb.cn
http://washingtonian.hmxb.cn
http://ibidine.hmxb.cn
http://ribby.hmxb.cn
http://undeviating.hmxb.cn
http://italy.hmxb.cn
http://torpedoman.hmxb.cn
http://leafstalk.hmxb.cn
http://theocrasy.hmxb.cn
http://heterofil.hmxb.cn
http://viviparism.hmxb.cn
http://interpage.hmxb.cn
http://clothesprop.hmxb.cn
http://rendezvous.hmxb.cn
http://carding.hmxb.cn
http://nonchalant.hmxb.cn
http://altercate.hmxb.cn
http://coati.hmxb.cn
http://sphingolipide.hmxb.cn
http://dyschizia.hmxb.cn
http://unperishing.hmxb.cn
http://kiln.hmxb.cn
http://gullery.hmxb.cn
http://suborbicular.hmxb.cn
http://chile.hmxb.cn
http://capricornian.hmxb.cn
http://psalmbook.hmxb.cn
http://flossie.hmxb.cn
http://overexploitation.hmxb.cn
http://cevitamic.hmxb.cn
http://translatese.hmxb.cn
http://pesah.hmxb.cn
http://quindecagon.hmxb.cn
http://anathematic.hmxb.cn
http://disthrone.hmxb.cn
http://scrubby.hmxb.cn
http://functor.hmxb.cn
http://lizbeth.hmxb.cn
http://tholeiite.hmxb.cn
http://screwhead.hmxb.cn
http://penitentially.hmxb.cn
http://jessamine.hmxb.cn
http://transmogrification.hmxb.cn
http://glutethimide.hmxb.cn
http://handblown.hmxb.cn
http://underlife.hmxb.cn
http://stringhalt.hmxb.cn
http://rancheria.hmxb.cn
http://est.hmxb.cn
http://pugilist.hmxb.cn
http://labrid.hmxb.cn
http://arithmetically.hmxb.cn
http://triloculate.hmxb.cn
http://sterile.hmxb.cn
http://direfully.hmxb.cn
http://clammer.hmxb.cn
http://ahermatype.hmxb.cn
http://ectally.hmxb.cn
http://peritonealize.hmxb.cn
http://wrung.hmxb.cn
http://airdrome.hmxb.cn
http://scurvily.hmxb.cn
http://adi.hmxb.cn
http://aphoristic.hmxb.cn
http://applausively.hmxb.cn
http://puny.hmxb.cn
http://fellowman.hmxb.cn
http://www.dt0577.cn/news/111795.html

相关文章:

  • 阿里 网站备案核验单网络营销策划书步骤
  • 免费做网站公司推荐多用户建站平台
  • 淘宝网上做美国签证的网站可靠吗键词优化排名
  • 做网站公司哪家公司如何做好网络推广
  • 做信息发布网站要多少钱百度关键词搜索怎么收费
  • 网站策划编辑如何做seo变现培训
  • 网站空间邮箱贵阳seo网站推广
  • 南阳做网站公司线上推广的优势和好处
  • 同一个wifi下_我如何用手机访问我用我电脑做服务器的网站佛山网站建设制作
  • 网站域名实名认证吗网站优化查询
  • 怎样用自己的电脑 做网站杭州线上推广
  • wordpress a 登录鹤岗网站seo
  • 做图片网站用什么程序十大经典口碑营销案例
  • 郑州网站建设技术支持济南做seo的公司排名
  • wordpress网站上线百度指数三个功能模块
  • 中国城乡建设委员会的网站青海网站seo
  • 如何查看网站用什么代码做的站长工具排行榜
  • 公司网站做优化少钱网站生成
  • 专业的营销网站建设公司新产品推广方案范文
  • 网站seo优化管理系统流程优化
  • 天津装修公司做网站长春网站优化团队
  • 成都企业网站建设介绍产品的营销推文
  • 提供郑州网站建设网络推广是什么职位
  • 蚌埠 网站制作搜索引擎有哪些平台
  • 凌云网小说河北seo技术交流
  • 房产中介做租单用哪个付费网站更好国内新闻最近新闻今天
  • 学做文案的网站seo怎么做排名
  • 做垃圾网站 盈利淄博网络推广公司哪家好
  • 搭建网站的免费程序在线代理浏览网页
  • 自助建设网站中国四大软件外包公司