Revisión de ayer
1 django目录介绍
-urls 路由和视图函数的映射关系
-models 视图函数
-models 数据库相关操作
-settings 配置文件
2 app是什么?
-项目中独立的功能,通常做成一个app
-python3 manage.py startapp app01
3 django项目的启动方式
-命令行:python manage.py runserver 127.0.0.1:8080
-pycharm
4 配置文件
-是否调试模式:开发阶段都是true,上线都是false
-注册app
-中间件
-数据库链接配置
-静态文件配置
5 静态文件
-1 先创建目录(static)
-2 在settings.py中配置:
STATIC_URL = '/static/'
# 再配一个STATICFILES_DIRS列表(列表内写路径)
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
-3 在 static文件夹中创建目录:
-js
-css
-img
-其他第三方模块
-4 模版文件中使用 (本质原理)
-/static/js/jquery.min.js
6 路由配置
-url(r'^index', views.index),
7 视图
-请求对象
request.method---(get/post)
request.GET---(当作字典)
request.POST---(当作字典)
ps:post请求也可以在地址栏携带数据
-响应对象
HttpResponse 返回字符串
render(request,'模版名字') 返回模版
redirect('/index或者http://www.baidu.com') 返回重定向
8 登陆案例
Hoy
1 función de inicio de sesión, enlace mysql
2 MTV 和 MVC
1 django是MTV架构,本质也是MVC
-M:model,数据库相关操作
-T:template,模版文件(就是MVC中的V)
-V:view,视图(路由+V=MVC中的C)
2 MVC架构:主流的web框架都是MVC
-web应用分为模型(M),视图(V)和控制器(C)
-M:model,数据库相关操作
-C:controler 控制器,逻辑相关,逻辑代码
-V:view 视图
3 详情:
https://www.cnblogs.com/liuqingzheng/p/13725794.html
3 ciclo de vida de la solicitud de Django
0 近几年python中的几个web框架,sanic,fastapi(异步框架)
1 python中的web服务器都符合wsgi协议
2 web服务器,任何语言都会有一个web服务器,负责把http请求转成这门语言的变量
-python:wsgiref(性能很低),uwsgi(c语言写的,200多并发量)
-java:tomcat,jboss(300多并发量)
-php:php服务器
3 请求生命周期图解:
4 Explicación del entorno virtual, configuración de pycharm
1 虚拟环境作业:隔离环境,每个项目有自己依赖的模块和包,不同模块和包的版本 就不会相互影响
2 a路径、b基于哪个解释器、c是否继承基础解释器的模块、d是否可以被其他项目 使用
Descripción general de 5 orm
1 orm:对象关系映射(跟语言无关)
数据库中的表-------->对应程序的一个类
数据库中的一行数据--->对应程序中的一个对象
2 python中常见orm框架
-django的orm框架
-sqlachemy orm框架
3 java,java中写web的项目:
-ssh框架:spring+structs(有漏洞)+hibernate(orm框架)
-ssm框架:spring+springMVC+mybatis(orm框架,可以写原生sql)
-sb框架:springboot,内置tomcat(现在主流)
-springcloud:微服务(现在主流)
4 orm能干的事
-创建表(不能创建数据库,手动创建数据库)
-增加删除表内字段
-增删查改数据
El uso de orm en 7django
0 sqlite:也是个数据库,文件数据库,一个库就是一个文件,不需要单独安装
-现在就在用,也要用到关系数据库,不需要连数据库,
-移动开发本地存储数据,存在sqlite中
1 创建个UserInfo表,在model中写一个类
2 表中有字段(类属性),字段有属性,
第一步在models中要写类:
class UserInfo(models.Model):
# 字段属性-->后面那个对象决定的
# id字段自增,并且是主键
id = models.AutoField(primary_key=True)
# 名字字段是varchar类型,长度为32(唯一约束,是否是索引,默认值是,是否可为空)
name = models.CharField(max_length=32)
# 密码字段
password = models.CharField(max_length=64)
第二步,把表创建出来(执行两个命令):
python manage.py makemigrations
python manage.py migrate
8 Registro de usuario, vitrina
1 Escriba una clase UserInfo en models.py, asegúrese de heredar models.Models y luego use el comando para crear la
tabla.2 Cree register.html bajo tempates y envíe el formulario en el formulario requerido por UserInfo.3
En urls.py Agregue enrutamiento en: url (^ register, "views.register"), url (^ userlist, "views.user_list")
4 Escriba la función de registro en views.py, cree una instancia de un objeto de usuario con los datos obtenidos en la página y regrese redirigir ('/ userlist'), saltar a la página de vista de la lista de usuarios y
escribir la función user_list, usar models.UserInfo.object.all () para consultar todos los datos del usuario, reemplazar el contenido en el archivo de plantilla y devolver render (request, 'userlist. html ', context = (' userlist ': userlist))
5 Cree userlist.html bajo tempates, recorra los datos en la lista de usuarios y muéstrelos.
operación
1 Organizar
2 Registrarse, mostrar la lista de usuarios
3 Después del registro, vaya a la página de inicio de sesión (pymysql u orm)
4 Saltar para ver la lista de usuarios después de iniciar sesión
suplemento:
1 La naturaleza de los archivos estáticos
STATIC_URL = '/static/'
URL中的/static/是模版文件中的src地址,也可以改成其他.
而且之前在本地中的地址都是'../static/css/my.css'
而在模版文件中的地址则是'/static/css/my.css'
这里面的的static是来自于STATIC_URL里的'/static/',浏览器请求模版文件之后再请求静态文件(2次请求),这个请求不是在模版文件所在的路径向上去找,而是直接通过STATIC_URL去请求的.
------------------------------------------------------------
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
这里的是自己创建的本地静态文件的文件夹路径,可以随意命名,但最好叫static文件夹.
Como se muestra:
2 ¿Cuál es el tipo varchar más largo?
varchar (2555) utf8 = 2555 * 2 no
superlargo varchar (2555) utf8mb4 = 2555 * 4 superlargo