1 web应用
2 cs和bs架构
3 http协议----重点 -
-请求头:
请求首行 get / http/1.1
key:value
key:value
请求体的内容
-响应头: 响应首行 http/1.1 200 ok
响应头: key:value
响应体: html的代码 -状态码: 1开头 2开头 3开头 4开头 5开头
4 python中主流web框架
a socke b 路由和视图函数映射关系 c 模板的渲染
django uwsgi/wsgiref
flask
tornado web2.py
5 django的安装与使用
1 pip3 install django==1.11.9
2 django-admin startproject 项目名字
3 切到项目里python3 mangage.py startapp app的名字
4 pycharm打开项目,启动项目,点绿色三角
5 执行项目:python3 manage.py runserver 127.0.0.1:8006 python3 manage.py runserver 8006 python3 manage.py runserver
6 目录结构:
1 工程名的文件夹:settings:全局配置
urls:路由根视图函数映射关系
app名字的文件夹:views:视图函数
models:orm关系映射
今天内容:
1 django中app的概念: 大学:----------------- 项目 信息学院 ----------app01 物理学院-----------app02
****强调***:创建了app,要在配置文件中注册 ...
2 模板路径配置:
1 templates文件夹
2 settings里注册一下
3 静态文件配置:
1 STATIC_URL = '/static/' 一般不要改
2 创建一个static文件夹 一般不要改
3 STATICFILES_DIRS=[ os.path.join(BASE_DIR, 'static'), 创建的文件夹路径(可以写多个) ]
4 完整版登录功能
1 login.html ***重点***
1 action:提交到后台的地址三种写法:
1 http://127.0.0.1:8000/login
2 /login/ 推荐用
3 空
2 method post方式
3 <input type="submit" value="提交">或<button></button>
type不可以是button
<form action="http://127.0.0.1:8000/login" method="post">
<p>用户名:<input type="text" name="name" class="form-control"></p>
<p > 密码:<input type="password" name="pwd" class="form-control">
</p> <input type="submit" value="提交"> </form>
2 视图层: 1 request.method ----前台提交过来请求的方式
2 request.POST(相当于字典)----post形式提交过来的数据,(http请求报文的请求体重)
3 request.POST.get('name') ----推荐用get取值(取出列表最后一个值)
4 request.POST.getlist('name')-----取出列表所有的值_
5 前台get方式提交的数据,从request.GET字典里取
3 链接数据库(防止注入,推荐以下写法) cur.execute('select * from user where name=%s and password=%s ',[name,pwd])
5 get请求和post请求 get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制) post:往后台提交数据
6 新手三件套总结 1 render--返回页面 默认会去templates里找,注意路径 2 redirect--重定向 3 HttpResponse 本质:都是返回HttpResponse的对象
7 pycharm连接mysql 8 orm介绍 1 ORM即Object Relational Mapping,全称对象关系映射。
优点: 1 不用写sql,不会sql的人也可以写程序 2 开发效率高
2 缺点: 1 可能sql的效率低
3 如何使用: 如果连接mysql:在setting里配置: 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': 'admin', 'NAME': 'lqz', }
在app下的__init__.py里写: import pymysql pymysql.install_as_MySQLdb()
4 django-orm: 1 不能创建数据库(需要手动创建数据库) 2 可以创建数据表 3 可以创建字段 5 数据库迁移 1 python3 manage.py makemigrations ----记录一下数据库的变化 2 python3 manage.py migrate ----将变化同步到数据库中 9 orm创建表
创建一个app
python3 manage.py startapp app01
在settings里面的INSTALLED_APPS中加入 ‘app01.apps.App01Config’
在网址后面输入admin会弹出一个登入界面