Python Day18

时间:2024-11-02 13:03:49

WEB框架

MVC
Model View Controller
数据库 模板文件 业务处理 MTV
Model Template View
数据库 模板文件 业务处理
Web请求流程
-- 原始Web框架
-- 自定义Web框架
-- MVC 和 MTV # Models Views Controllers
# 模版 处理请求的函数
# MVC # Models Templates Views
# 模版 处理请求的函数
# MTV # MTV
# models: 操作数据库
# templates: 模版,html
# views: 处理请求的函数

Django基础

1、创建Django程序
a. 命令
django-admin startproject mysite 创建project
cd mysite
python manage.py startapp app01 创建app01
python manage.py startapp app02 创建app02
b. pycharm
创建Django程序
Win:
终端,python python manage.py startapp app01 -windows
Mac:
option+R
starapp app01
c. 目录结构
project _name
-project_name ---> 配置文件(settings.py)
-manage.py
-app01
-app02
-app03
2、执行django程序
进入project python manage.py runserver 127.0.0.1:8000
点pycharm 上方的执行按钮 3、Django依赖数据库
配置:settings
生成数据库表:
python manage.py makemigrations # 生成配置文件
python manage.py migrate # 根据配置文件创建数据库相关 4、admin
python manage.py createsuperuser
... http://localhost:8000/admin/ 5、路由系统 1、静态路由
2、动态路由
按照顺序,第n个匹配的数据,交给函数的第n个参数,严格按照顺序匹配
模版的方法,将匹配的参数,传给指定的形式参数
3、二级路由
app01
url.py project_name
URL: app01 -> include("app01.url") 6、基本的数据库操作
ORM框架
db first
自己用命令创建数据库表和字典 --> 创建类
code first
自己写类 --> 数据库表 使用类进行创建数据库表等操作 a. 创建类
b. 配置
setttings.py INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"app01",
]
b. 使用命令根据类创建表
python manage.py makemigrations # 生成配置文件
python manage.py migrate # 根据配置文件创建数据库相关 c. 默认表名
appname_classname d.
views中导入models e.
POST提交数据
settings里操作:
         # 这里暂时注销掉跨站请求相关的中间件
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]