使用django开发视频网站源码分享 django源码解析视频

这篇文章给大家聊聊关于使用django开发视频网站源码分享,以及django源码解析视频对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文主要分享python当前最流行的网络开发框架flask有关服务器启动的原理,并介绍了相关的web框架的底层支持和相关的术语

一些概念

flask是什么

官方文档的描述:AmicroframeworkbasedonWerkzeug.It&39;werkzeug&environ属性是一个字典,包含了从web服务器如Apache[参考InternetRFC3875]提供的CGI接口中获取的值\n封装所有传过来的参数\nrequest=Request(environ)\ntext=&39;%request.args.get(&39;,&39;)\nresponse=Response(text,mimetype=&39;)\nreturnresponse(environ,start_response)\n\nif__name__==&39;:\nfromwerkzeug.servingimportrun_simple\nrun_simple(&39;,8080,application)

flask开发服务器是怎么跑起来的

体验1分钟之内快速开发一个hello,world应用,看代码

fromflaskimportFlask\n\napp=Flask(__name__)\n\n@app.route(&39;)\ndefhello():\nreturn&39;\n\nif__name__==&39;:\napp.run()

运行脚本,打开网页,访问&34;,即可看到&34;出现,是不是很简单

源码阅读(基于v0.1)

fromflaskimportFlask\napp=Flask(__name__)\n\nif__name__==&39;:\napp.run()

第一行fromflaskimportFlask,除了标准的导包到当前脚本之外,另外创建了上下文对象current_app,request,session,g,为后面需要上下文环境的时候做准备,如下创建的上下文代码块

39;localhost&34;&34;Runstheapplicationonalocaldevelopmentserver.Ifthe\n:attr:`debug`flagissettheserverwillautomaticallyreload\nforcodechangesandshowadebuggerincaseanexceptionhappened.\n\n:paramhost:thehostnametolistenon.setthisto“&39;“\ntohavetheserveravailableexternallyaswell.\n:paramport:theportofthewebserver\n:paramoptions:theoptionstobeforwardedtotheunderlying\nWerkzeugserver.See:func:`werkzeug.run_simple`\nformoreinformation.\n&34;&39;debug&39;debug&39;use_reloader&39;use_debugger&34;auto&34;&34;省略了一部分暂时没用的代码,只保留了重点&34;&34;WERKZEUG_SERVER_FD&34;&34;省略了一部分暂时没用的代码,只保留了重点&34;&34;&34;Createanewserverinstancethatiseitherthreaded,orforks\norjustprocessesonerequestafteranother.\n&34;&34;cannothaveamultithreadedandmultiprocessserver.&来自cookbook/python,仅仅基于socketserver实现一个简单收发服务器\nfromsocketserverimportBaseRequestHandler,TCPServer\n\n处理程序\ndefhandle(self):\nprint(&39;,self.client_address)\nwhileTrue:\nmsg=self.request.recv(8192)\nifnotmsg:\nbreak\nself.request.send(msg)\n\nif__name__==&39;:\n39;',20000),EchoHandler)\nserv.serve_forever()

总结

本文主要初步了解了Flask框架所涉及到的术语及基本的设计架构

通过阅读源码一步步的了解了Flask的生产服务器启动过程:基于socketserver库设计了符合WSGI规范的服务器类和处理器类,再调用底层的启动服务器函数将服务器启用,等待客户端连接···

我是一名奋战在编程界的pythoner,工作中既要和数据打交道,也要和erp系统,web网站保持友好的沟通……,时不时的会分享一些提高效率的编程小技巧,在实际应用中遇到的问题以及解决方案,或者源码的阅读等等,欢迎大家一起来讨论!如果觉得写的还不错,欢迎点个关注点个赞,谢谢。

好了,文章到此结束,希望可以帮助到大家。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平