在我们的认知中python被称作调包侠,你知道这个嘛,就是因为在python中基本所有的事情都可以调用第三方写好的模块。
首先说一下软件开发架构:
c/s客户端服务端
b/s浏览器端服务端
ps:b/s本质上也是c/s
#Author:SkyOcean#@Time:2019/10/1821:31#@Author:SkyOcean#@Site:#@File:手撸.py#@Software:PyCharmimportsocketserver=socket.socket()server.bind(('127.0.0.1',8080))server.listen(5)whileTrue:conn,add=server.accept()data=conn.recv(1024)#print(data)conn.send(b'HTTP/1.1200ok\r\n\r\n')data=data.decode("utf-8")current_path=data.split("\r\n")[0].split('')[1]ifcurrent_path=='/index':conn.send(b'index')elifcurrent_path=='/login':conn.send(b'login')else:conn.send(b'404errror')基于wsgiref模块该模块实现了上面俩个手动的过程
拆分完成后,添加功能只需要在urls.py和views.py方面修改就行
疑问:如何将后端获取的数据传递给html页面
后端获取的数据传递给html页面>>>:模板的渲染jinja2pip3installjinja2在前端字典的使用
模板语法(极其贴近pythaon后端语法)
{{user}}
{{user.name}}
{{user['pwd']}}
{{user.get('hobby')}}
在前端数据库的使用模板语法(极其贴近pythaon后端语法){%foruser_dictinuser_list%}
A:socket部分
B:路由和视图函数对应关系
C:模板语言
Django:
A:用别人的wsgiref模块
B:自己写的
C:自己写的
Flask:
A:用别人写的werkzeug模块(基于wsgiref模块)
B:自己写的
C:用别人的jinja2
Tornado
三个都是自己写的
1.X版本2.X版本现在市面上用的比较多的还是1.X
推荐你使用1.11.9~1.11.13
下表中LTS表示还在维护的版本
直接安装最新版本:pip3installdjango
选择版本:pip3installdjango==1.11.11
验证django是否安装成功:
命令行输入diango-admin
一个django项目就类似于是一所大学,而app就类似于大学里面的学院
django其实就是用来一个个应用的
一个app就相当于一块独立的功能,比如:用户功能管理功能
django支持任意多个app
创建django项目
在启动django项目的时候你一定要确保一个端口只有一个django项目
Serverreturnsinvalidtimezone.Goto'Advanced'tabandset'serverTimezone'propertymanually.
如果出现时区错误的话,有俩种不过方法
jdbc:mysql://localhost:3306serverTimezone=GMT
在URL的后面添加serverTimezone=GMT,但是比较麻烦,每次都要进行配置时区,建议采用方法二