web框架的介绍
python中的三大主流web框架
Django:大而全,自带了很多模块。缺点是有些笨重。socket部分用的别人封装好的 wsgiref模块。b部分用自己写的。c部分用自己写的
Flask:短小精悍,自带的模块特别少,大部分都依赖于第三方模块。socket部分用的别人封装好的 werkzeug模块,路由与视图函数 自己写的。模板渲染用的别人的 jinja2模块。
Tornado:异步非阻塞,主要用在处理高io,多路复用的情况,由于阻塞低,常用于游戏开发。socket部分,路由与视图函数,模板渲染都是直接写的。
注意事项:
1.计算机的名称不能出现中文。
2.一个pycharm窗口就是一个项目, 不要把多个项目放在同一窗口里面。
3.项目名最好不要使用中文名。
Django
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。
Django版本问题
Django下载
创建django项目
继续在项目中创建应用。
注意:新创建的app应用需要在配置文件中注册才能生效。
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01.apps.App01Config' # 可以用全称 'app01' # 也可以简写 ]
Django中各个文件的作用
应用文件夹:
migrations文件夹 :数据库迁移记录相关数据
admin.py:Django后台管理相关
views.py:视图函数相关
models.py:orm模型表相关
apps.py:应用注册相关
test.py:测试文件
项目名文件:
urls.py:路由与视图函数的映射关系
settings.py:Django暴露给用户可配置的文件
templates
项目可能要用到的所有的html文件
manage.py
Django的入口文件
django必会三板斧
from django.shortcuts import render,HttpResponse,redirect 导入相关模块
HttpResponse 返回字符串
render 返回一个html页面,并且可以给该页面传值
#两种给前端页面传值的方式 def reg(request): user_dict = {'name':'jason','password':'123'} return render(request,'reg.html',{'user_dict':user_dict} def reg(request): user_dict = {'name':'jason','password':'123'} return render(request,'reg.html',locals())
redirect 重定向
注意:Django返回给前端的数据都是HTTPResponse对象。