Django项目的创建
一. Django介绍
Python的WEB框架有Django、Tornado、Flask 等多种, Django相较与其他WEB框架其优势为: 大而全, 框架本身集成了ORM、模型绑定,、模板引擎,、缓存、 Session等诸多功能.Django是一个开放源代码的网络应用框架,由python写成,采用了MTV的框架模式. 即Model、View、Template组成.
1. 安装Django
打开cmd,输入以下命令
pip3 install django==1.11.11
二. 创建Django项目
1. 打开pycharm
File>>>New Project>>>Django(左侧栏)
后续操作如下图: 选择create后选择 open in new window
注意 : python解释器最好选择3.6版本, 3.7版本会出现错误
2. 目录介绍
3. 配置文件 settings.py
进入settings.py文件,在最后一行找到 STATIC_URL = '/static/' 在其下面添加如下代码:
并在myside目录下新建static文件夹, static文件夹用来存放js、css、图片等文件.
STATIC_URL = '/static/'
STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
4. 用ORM来操作数据表
ORM的使用: 用来操作数据表,但是不能创建数据库
1) 在cmd里创建数据库
MySQL数据库的下载、配置、操作 : https://www.cnblogs.com/huangqihui/p/9664552.html
# 用管理员权限打开cmd C:\Windows\system32>net start mysql # 启动mysql服务 # 再开一个cmd窗口 C:\Users\Think>mysql -uroot -p mysql> create database myside; Query OK, 1 row affected (0.00 sec)
2)进入配置文件settings.py,找到 'DATABASE=...'这一段代码,改成如下代码:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 连接数据库的类型 'NAME': 'mysite', # 数据库名 'HOST': '127.0.0.1', # 数据库主机地址 'PORT': 3306, # 数据库的端口 'USER': 'root', # 用户名 'PASSWORD': '', # 密码 } }
3) 找到和settings.py同级的__init__.py文件,写上下面的代码:表示告诉Django用mysql模块代替默认的MySQLdb去连接数据库
import pymysql pymysql.install_as_MySQLdb()
4) 连接数据库
在pycharm的最右侧找到Database并点击,步骤如下图:
选择MySQL后, 出现如下页面
5) 在app01文件夹下的models.py文件中创建类(创建表),代码如下:
# AutoField(primary_key = True)表示为自增主键,固定搭配 # CharField(max_length=32) 表示为varchar类型最长字段为32 # DateField 表示Date类型 # 建Class表 class Class(models.Model): # 必须继承models.Model类 id = models.AutoField(primary_key=True) # 主键 cname = models.CharField(max_length=32) # 班级名称 first_day = models.DateField() # 开班时间
6) 在pycharm左下方找到Terminal,并点击,会出现类似于cmd的窗口
输入以下两个命令:
1. python manage.py makemigrations --> 把models.py的变更记录一下
2. python manage.py migrate --> 把上面的变更记录翻译成SQL语句,
这时候点击左侧栏的Database可以看到myside里的表
双击app01_class表就可以进入编辑表的页面,
三. Dianjo的执行流程
MVC模型的结构(模型 视图 控制器)
模型:封装数据集提供数据的增删改查
视图:接收数据、渲染数据,调用模型
控制器:控制用户访问行为的,它负责调用
Django虽然是一个MVC模型,但是Django更关注的模型是MVT模型:
Model(模型):负责业务对象与数据库的对象(ORM)
Template(模版):负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
此外, Django还有一个urls分发器, 它的作用是将一个个URL的页面请求分发给不同的view处理, view再调用相应的Model和Template