Django视图函数执行,不在主线程中,直接loop=asyncio.new_event_loop()#不能loop=asyncio.get_event_loop()会触发RuntimeError:Thereisnocurrenteventloopinthread因为asyncio程序中的每个线程都有自己的事件循环,但它只会在主线程中为你自动创建一个事件循环。所以如果你asyncio.get_event_loop在主线程中调用一次,它将自动创建一个循环对象并将其设置为默认值,但是如果你在一个子线程中再次调用它,你会得到...
继续阅读 >
分类:django
2020
10-13
10-13
Django windows使用Apache实现部署流程解析
我的版本python3.6+django1.11+Apache2.41.下载与安装Apache选择对应电脑版本下载Apache2.4 https://www.apachelounge.com/download/下载完成后解压进入文件夹Apache24目录下。2.配置Apache打开conf/httpd.conf文件,进行一些修改。可以直接ctrl+F进行搜索查找DefineSRVROOT"D:\ProgramFiles\Apache24"#你的Apache文件路径ServerRoot"D:\ProgramFiles\Apache24"#这个是我的解压后的文件夹Listen127....
继续阅读 >
2020
10-13
10-13
详解Django ORM引发的数据库N+1性能问题
背景描述最近在使用Django时,发现当调用api后,在数据库同一个进程下的事务中,出现了大量的数据库查询语句。调查后发现,是由于DjangoORM的机制所引起。DjangoObject-RelationalMapper(ORM)作为Django比较受欢迎的特性,在开发中被大量使用。我们可以通过它和数据库进行交互,实现DDL和DML操作.具体来说,就是使用QuerySet对象来检索数据,而QuerySet本质上是通过在预先定义好的model中的Manager和数...
继续阅读 >
2020
10-10
10-10
Django生成数据库及添加用户报错解决方案
Django生成数据库表时报错__init__()missing1requiredpositionalargument:'on_delete'原因:在django2.0后,定义外键和一对一关系的时候需要加上on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错例如:owner=models.ForeignKey(UserProfile)--->报错owner=models.ForeignKey(UserProfile,on_delete=models.CASCADE)--在老版本这个参数(models.CASCADE)是默认值参数说明:on_delete有...
继续阅读 >
2020
10-10
10-10
python自动化测试三部曲之request+django实现接口测试

2020
10-10
10-10
Django-Scrapy生成后端json接口的方法示例

2020
10-10
10-10
利用django创建一个简易的博客网站的示例
一、页面实现index.htmlbase.htmlpost.htmlheader.htmlfooter.html<!--index.html-->{%extends'base.html'%}<htmllang="en"><head><metacharset="UTF-8"><title>个人博客</title></head><body><h1>欢迎来到我的博客</h1>{%forpostinposts%}<hr><pstyle="font-family:微软雅黑"><ahref="/post/{{post.slug}}"rel="externalnofollow"rel="externalnofollow">{{post.title}}</a></p>{%endfor%}...
继续阅读 >
2020
10-10
10-10
Django路由层URLconf作用及原理解析
一、Django中路由的作用URL配置(URLconf)就像Django所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。fromdjango.conf.urlsimporturlurlpatterns=[url(正则表达式,views视图函数,参数,别名),]Django2.0版本中的路由系统已经替换成下面的写法(官方文档):fromdjango.urlsimportpathurlpatterns=[path...
继续阅读 >
2020
10-10
10-10
Django mysqlclient安装和使用详解

2020
10-10
10-10
Django修改app名称和数据表迁移方案实现
项目一开始的设计很重要,django中app的名称建议用小写我的博客由两个app组成,Blog和JiaBlog,总觉得不美观,想改成小写的oblog和blog,那么最关键的地方在于和orm数据表的映射把JiaBlog.articles改成blog.articles是终极目标,这里不推荐用django的migrate写一个sql批量生成mysql改表名的语句SELECTCONCAT('ALTERTABLE',table_name,'RENAMETOb',substring(table_name,5),';')FROMinformation_schema.tablesWhere...
继续阅读 >
2020
10-10
10-10
Django实现文章详情页面跳转代码实例

2020
10-10
10-10
如何基于Django实现上下文章跳转

2020
10-10
10-10
Django框架安装及项目创建过程解析

2020
10-10
10-10
Django crontab定时任务模块操作方法解析
Djangocrontab定时任务安装pipinstalldjango-crontab配置在settings.py中INSTALLED_APP中添加'django_crontab'CRONJOBS=[('*/1****','echo"helloworld">/dev/null')]应用函数defdemo():你所要执行的业务逻辑CRONJOBS=[('*/1****','demo函数路径"')]查看已有的定时任务pythonmanage.pycrontabshow添加定时任务pythonmanage.pycrontabadd删除pythonmanage.pycrontabremove运行pythonmanage...
继续阅读 >
2020
10-10
10-10
Django日志及中间件模块应用案例
基于邮件通知的服务监控和告警系统主要功能点:配置专用日志格式记录耗时日志格式:'simple':{'format':'%(asctimme)s%(message)s'}处理器'statistics_handler':{'level':'DEBUG','class':'logging.handlers.RotatingFileHandler','filename':os.path.join(LOG_DIR,'backend.log')'maxBytes':'1024*1024*1024'#class参数如果日志大小超了会新建文件'backupCount':5#备份数'formatter':'simple',...
继续阅读 >
2020
10-10
10-10
Django nginx配置实现过程详解
django在引入第三方模块的时候保证服务的高可用,要设立一个备份接口,当主接口宕机时可以设置一个超市参数来使用备份的接口。nginx反向代理器,网站服务器,负载均衡基本命令sudonginx启动sudonginx-sstopsudonginx-squitsudonginx-sreopen关键配置模块events配置域:网络连接相关配置(I/O模块)server配置域:相关服务节点配置locationhttp配置域upstream配置域:反向代理配置域层次关系events{....
继续阅读 >