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',
]

最新文章

  1. Hadoop学习笔记—18.Sqoop框架学习
  2. UITextFeild的用法
  3. [Python] 网络爬虫和正则表达式学习总结
  4. kali linux 系列教程之metasploit 连接postgresql可能遇见的问题
  5. TOMCAT报错:HTTP Status 404 -
  6. LeetCode:Unique Binary Search Trees I II
  7. 微信域名weixin.com天价成交!是腾讯吗?
  8. SVG 2D入门5 - 颜色的表示
  9. js执行上下文(由浅入深)
  10. POJ 3254 Corn Fields(DP + 状态压缩)
  11. spring非controller类获取service方法
  12. php中sql语句常见错误
  13. Python 学习笔记10 函数
  14. 使用multidex解决64K方法引用的限制
  15. VUE 利用webpack 给生产环境和发布环境配置不同的接口地址
  16. @Autowired注解与@resource注解的区别(十分详细)
  17. 周强201771010141《面向对象程序设计(java)》第一周学习总结
  18. Go Revel - Cache(缓存)
  19. Java模式—静态代理模式
  20. 微信小程序调用接口返回数据或提交数据

热门文章

  1. Xcode8+和iOS10+使用Masonry自动计算行高
  2. iOS 性能调试
  3. 容易忘记的git命令
  4. 以前写的一段aop,远程接口调用的日志。
  5. ThinkPHP实现定时任务
  6. 使用gulp-uncss清理多余无用css
  7. USACO . Your Ride Is Here
  8. Java泛型及实践
  9. [原]CentOS7部署PostGis
  10. [LeetCode] Different Ways to Add Parentheses 添加括号的不同方式