首页 / PYTHON / Python WEB框架的介绍
Python WEB框架的介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python WEB框架的介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3154字,纯文字阅读大概需要5分钟。
内容图文
![Python WEB框架的介绍](/upload/InfoBanner/zyjiaocheng/634/cf47acd3bdce4b629459d276c71d05f8.jpg)
Python web框架
- 自己实现socket
Tornado
- 基于wsgi
wsgi.run(ip.port)
Django
自己开发web框架:
基于wsgi
1 from wsgiref.simple_server import make_server 2 3 def RunServer(environ,start_response): 4 start_response('200 OK',[('Content-Type','text/html')]) 5 return '<h1>Hello,web!</h1>' 6 7 if __name__ == '__main__': 8 httpd = make_server('',8000,RunServer) # IP,端口,函数名 9 10 print('Serving HTTP on port 8000') 11 httpd.server_forever() # 等待请求到来 ————while true: socket.accept()
但是这个程序不能直接在Python3使用,出现以下情况
1、不是server_forever() 是serve_forever
2、然后就弹出错误,返回的要是byte类型,所以我把'<h1>Hello,web!</h1>'变成b'<h1>Hello,web!</h1>'也不行,
之后我又使用 ret=b'<h1>Hello,web!</h1>' 然后 return ret 的方法,也不行, 补充;可以使用 ret.encode('gbk'),这样也可以
最后 我使用 ret = b'<h1>Hello,web!</h1>' 然后 return [ret] 就可以了 ,这个方法是网上找的,原理不明...
作者貌似也不知道为什么 原地址:https://www.cnblogs.com/Dmail/p/11607378.html
3、极端的方法:错误时,显示 xx\wsgiref\handlers.py 出错,self.write(data),跳转到该行,然后在这行的前面加上data = data.encode(),就可以直接 return '<h1>Hello,web!</h1>'了
MVC/MTV 目录的归类
处理用户请求 放置HTML模板 操作数据库
Controllers Views Modals CVM - MVC
Views Template Modals VTM - MTV
Django -- MTV
![Python WEB框架的介绍 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501021106613.jpg)
![Python WEB框架的介绍 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501021106735.jpg)
1 from wsgiref.simple_server import make_server 2 from controllers import home 3 4 # def index(): # 如果需要处理的用户请求很多,可以放到另外的地方 -- controllers 里的 XX.py 5 # return '<h1>index</h1>' 6 # def login(): 7 # return '<h1>login</h1>' 8 9 urlpatterns = [ 10 ('/index',home.index), 11 ('/login',home.login) 12 ] 13 14 def RunServer(environ, start_response): 15 start_response('200 OK', [('Content-Type', 'text/html')]) 16 # 获取用户的URL,environ,封装了用户的所有请求内容 17 # 路由系统 18 url = environ['PATH_INFO'] 19 20 func=None 21 for item in urlpatterns: 22 if item[0] == url: 23 func = item[1] 24 break 25 26 if func: 27 ret = func() 28 else: 29 ret = b'<h1>404</h1>' 30 31 return [ret] 32 33 34 if __name__ == '__main__': 35 httpd = make_server('', 8000, RunServer) # IP,端口,函数名 36 37 print('Serving HTTP on port 8000') 38 httpd.serve_forever() # 等待请求到来 ————while true: socket.accept()主程序
![Python WEB框架的介绍 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501021106613.jpg)
![Python WEB框架的介绍 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501021106735.jpg)
1 import time 2 3 def index(): # 如果想要使用HTML模板的话可以直接使用 4 f = open('views/03.html',encoding='utf-8') 5 data = f.read() 6 data=data.replace('&&t&&',str(time.time())) # 如果想要把里面的内容替换成数据库取出来的内容 7 data=data.encode('gbk') 8 return data 9 def login(): 10 return b'<h1>login</h1>'Controllers
![Python WEB框架的介绍 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501021106613.jpg)
![Python WEB框架的介绍 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501021106735.jpg)
1 <h1>&&t&&</h1>Views
其中,views如果没有需要替换的 可以直接用 open(xx,'rb') 以二进制直接读取,
如果其中内容需要替换,则需要先用open(xx,encoding='utf-8') 读出(不然等下转码的时候可能出现问题),
然后进行替换 data=data.replace(x1,x2) x1替换成x2 然后 data = data.encode('gbk') return data
内容总结
以上是互联网集市为您收集整理的Python WEB框架的介绍全部内容,希望文章能够帮你解决Python WEB框架的介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。