基本概念
- web服务器 应用服务器 web框架
web服务器`: 负责处理http请求 、响应静态文件, 常见的有nginx、apache、 IIS(微软) 、lighthttpd
应用服务器:如果是处理动态请求则nginx没法实现 需要交给python,php等。nginx不能直接指挥python,需要通过应用服务器,常见的有uwsgi、tomcat
web框架: 封装了常用功能 好比是一个毛坯房 我们只需要在此基础上 装修就好了 没必要重复造车。常见的有flask、django、tornado、spring3等。
- 浏览器 跟服务器之间传输的数据类型
Content-type :既可以指定传输的数据类型 又可以指定数据的编码类型
例如:content-type: text/html;charset=utf-8;
Mime-type:不能指定数据的编码类型
例如:mime-type:text/html
- 常用的数据类型
- text/html 默认的 html文件
- text/plain 文本
- text/css css文件
- text/javascript js文件
- multipart/form-data 表单 文件提交
- application/x-www-form-urlencode 表单普通提交
- application/json json传输
- application/xml xml传输
配置windows下的pycharm+flask01虚拟环境
- 创建虚拟环境flask01 (会在path指定WORK_HOME目录生成flask01文件夹,所有库包等环境都在此文件夹,我已设置指向d:\qianfeng\virtualenv)
mkvirtualenv flask01
- 安装flask
pip instal flask
- 在pycharm中新建项目,指向d:\qianfeng\virtualenv\flask01
此时此刻:) 在pycharm中就是所在的虚拟环境flask01了。打开下部的terminal窗口看看:
如果希望修改虚拟环境,可以在pycharm的file-settings-project:flask_01里找到进行调整,方法与上面一样:
相应地,应该在terminal中退出flask1,进入新的虚拟环境。
flask 基础
# ---coding:utf-8----
# 文件名: 01_模仿.py
# @Time:2020/4/4 1:50
from flask import Flask # 1. 导入类库Flask
app = Flask(__name__) # 2. 从类Flask中实例化对象app
@app.route('/') # 5.通过装饰器的方式对index()函数进行内容扩充,即app.route()方法可以将index的内容暴露给指定路由
def index(): # 3. 写一个函数包含返回给请求的内容
return "<h1>Hello World666!ssdfd</h1>"
# 访问: http://127.0.0.1:8888
@app.route("/admin")
def admin():
return "<h1>欢迎来到管理后台</h1>"
# 访问 http://127.0.0.1:8888/admin/
@app.route("/welcome/<name>") # http://127.0.0.1:8888/welcome/zhangsan
def welcome(name):
return "hello %s"% name #返回hello zhangsan
@app.route("/user/<int:id>") # http://127.0.0.1:8888/user/1234
def name(id):
return "hello %s"% id #返回hello 1234
if __name__ == "__main__":
# app.run() # 4[1] 启动实例,对象的run方法
app.run(debug=True,port=8888) # 4[2] 启动实例,代码有改动时会自动刷新,端口号为8888
运行:
- 创建配置
上图不要选中右上角的允许并行实例,否则每次重新加载都会产生一个实例.
运行即可:
默认host地址是127.0.0.1,如果设置为0.0.0.0可以通过ip访问