内容:css
1.web预备知识html
2.django介绍python
3.web框架的本质及分类mysql
4.django安装与基本设置web
1.web预备知识正则表达式
HTTP协议:http://www.javashuo.com/article/p-shmfswju-y.htmlsql
关于web的本质:http://www.cnblogs.com/wyb666/p/9034042.html数据库
如何自定义web框架:http://www.cnblogs.com/wyb666/p/9038644.htmldjango
了解cookie和session:http://www.javashuo.com/article/p-ceqcahvy-ba.html浏览器
2.django介绍
(1)django介绍
Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其余WEB框架其优点为:大而全,框架自己集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。在Python各类web框架中,Django的文档最完善、市场占有率最高、招聘职位最多!
(2)MVC和MTV
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:
Django也是一个MVC框架。可是在Django中,控制器接受用户输入的部分由框架自行处理,因此 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:
(3)django的优缺点
优势:
缺点(源自Django坚持本身造全部的轮子,整个系统相对封闭):
Django大包大揽,用它来快速开发一些Web运用是很不错的。若是你顺着Django的设计哲学来,你会以为Django很好用,越用越爽;相反,你若是不能融入或接受Django的设计哲学,你用Django必定会很痛苦,趁早放弃的好
(4)django的组件
Django框架的核心包括:一个 面向对象的映射器,用做数据模型和关联性数据库间的媒介(ORM);一个基于正则表达式的URL分发器;一个视图系统,用于处理请求;以及一个模板系统
核心框架中还包括:
另外Django 包含了不少应用在它的"contrib"包中,这些包括:
3.web框架的本质及分类
(1)web框架的本质:socket服务端 与 浏览器的通讯
(2)socket服务端功能划分
(3)Python中 Web框架的分类
按上面三个功能划分:
按另外一个维度来划分:
4.django安装与基本设置使用
(1)django版本
如今主流的版本以下:
带有LTS代表是长期支持的版本
(2)本人使用版本
本人选择使用1.11
安装:可直接使用以下命令安装
1 pip3 install django==1.11.11
(3)建立django项目
(4)设置django项目(settings.py)
配置HTML文件存放的位置:
1 // settings.py中的TEMPLATES是用来配置项目模板文件(HTML)的路径 2 TEMPLATES = [ 3 { 4 'BACKEND': 'django.template.backends.django.DjangoTemplates', 5 'DIRS': [os.path.join(BASE_DIR, 'templates')], 6 'APP_DIRS': True, 7 'OPTIONS': { 8 'context_processors': [ 9 'django.template.context_processors.debug', 10 'django.template.context_processors.request', 11 'django.contrib.auth.context_processors.auth', 12 'django.contrib.messages.context_processors.messages', 13 ], 14 }, 15 }, 16 ]
配置静态文件存放的位置:
1 // 在setting.py中最下面写上这两条 配置静态文件目录 2 // 静态文件 -> css js 图片 3 STATIC_URL = '/static/' 4 STATICFILES_DIRS = ( 5 os.path.join(BASE_DIR, 'static'), 6 )
修改django默认的语言:
1 # 将默认的英文改为中文 2 LANGUAGE_CODE = 'zh-hans'
将csrf规则注释:
1 注释settings.py的middlerware中的如下内容(csrf): 2 # 'django.middleware.csrf.CsrfViewMiddleware',
(5)运行django项目
1 Django项目的启动: 2 1. 命令行启动 3 在项目的根目录下(也就是有manage.py的那个目录),运行: 4 python3 manage.py runserver IP:端口--> 在指定的IP和端口启动 5 python3 manage.py runserver 端口 --> 在指定的端口启动 6 python3 manage.py runserver --> 默认在本机的8000端口启动 7 8 2. PyCharm启动 9 点绿色的小三角,直接能够启动Django项目(前提是小三角左边是你的Django项目名)
(6)建立app
1 # django中的APP是什么: 2 整个project -> 一个大学(武汉大学) 3 一个APP -> 某个学院(计算机学院/金融学院/管理学院、、、) 4 5 APP能够方便咱们在一个大的Django项目中,管理实现不一样的业务功能 6 7 建立APP的命令 8 命令行 - 在Django项目的根目录输入: 9 python3 manage.py startapp app的名字
如下是建立APP的实例:
执行以上命令后文件夹以下:
最后要在settings.py中设置一下:
另外也能够在建立pycharm项目时随手建立一个APP:
(7)数据库配置
在Django项目中的settings.py中设置链接数据库的相关配置(告诉Django链接哪个数据库):
1 # Database 2 # https://docs.djangoproject.com/en/1.11/ref/settings/#databases 3 4 # 默认使用sqlite数据库 5 # DATABASES = { 6 # 'default': { 7 # 'ENGINE': 'django.db.backends.sqlite3', 8 # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 9 # } 10 # } 11 12 # 数据库相关配置: 13 DATABASES = { 14 'default': { 15 'ENGINE': 'django.db.backends.mysql', # 链接的数据库类型 16 'HOST': '127.0.0.1', # 链接数据库的地址 17 'PORT': 3306, # 端口 18 'NAME': "django", # 数据库名称 19 'USER': 'root', # 用户 20 'PASSWORD': 'root' # 密码 21 } 22 }
若是要使用pymysql链接MySQL数据库,就要进行以下设置:
告诉Django用pymysql代替默认的MySQLDB 链接MySQL数据库,在项目/__init__.py文件中,写下面两句:
1 import pymysql
2 # 告诉Django用pymysql来代替默认的MySQLdb
3 pymysql.install_as_MySQLdb()