Django
MVC
一种软件设计模式,即Model/View/Controller,模型/视图/控制器,广泛应用于Web项目开发中
Model:访问数据
View:展示数据
Controller:流程控制
MVT
Model/View/Template,模型/视图/模板
Django:
一个重量级的Python Web开发框架,为Web项目开发提供一站式服务,非常适合快速开发,但其比较笨重,运行效率比较低
Django项目目录结构说明
最外层的工程文件夹是项目的容器,名字无所谓
manage.py:管理项目的命令行工具,可以通过它和Django项目进行交互,部署和迁移项目都是用这个
内部和工程同名的文件夹是一个python包,包内部的setting.py为项目配置文件,urls.py存放URL声明
wsgi.py为WSGI兼容Web服务器执行Django项目的入口,部署上线时需要用到
在命令行如何创建一个Django项目
1.可以在项目文件夹中,按shift打开powershell,然后输入 django-admin startproject + 项目文件夹名称 就自动帮我们把框架生成好了。也可以在代码编辑器命令行直接输入来创建。
2.cd .\项目文件夹名称 # 进入项目文件夹
3.python manage.py runserver #启动django
4.然后在浏览器中输入127.0.0.1:8000 ,出现火箭图案就代表django安装成功
也可以设置80端口启动 python mange.py runserver 0.0.0.0:80
一个基于Django框架的Web项目是由若干个应用(APP)构成,每个应用就是一个相对独立的功能模块,比如投票应用、留言板应用、后台管理应用等,这些应用可以独立开发,并可以在其他项目中复用
一个Django项目由若干个应用构成,每个应用就是一个功能模块
作为一个庞大的项目可以这样去做
进入项目文件创建app
python manage.py startapp app(app名称)
创建完成后的一些配置要点: 1.含有manage.py的目录为全局下的 2.(这一步很重要)创建APP以后,需要在1.中目录下的settings.py中的INSTALLED_APPS这一部分加入下图所示内容
模型只能在某个应用中,不创建应用不能建立模型,而且要再项目文件夹的setting中INSTALLEN_APPS中加上模型
数据库的操作在models.py文件中进行,例如建表等等
图中类名就是数据库表名
5.接着会在settings.py中的DATABASES下进行更改
将‘ENGINE’中的sqlite3改为mysql
将‘NAME’中所有东西换成一个‘car-manage’(这是要新建数据库的名称,任意取,注意单引号,而且像建数据库一样,每行末尾用逗号分隔,最后一行什么都不加)
在‘NAME’下一行添加‘USER’:‘root’,(注意大字典和单引号,这个root是根据workbench设定的)
接着下一行添加‘PASSWORD’:‘******’(为自己的workbench的密码)
然后在命令行或者workbench中新建一个数据库car-manage(与‘NAME’中的同名)(分别选择utf8和utf8-unicode-ci)
最后在虚拟环境中安装mysql驱动,即安装PyMySQL,还需要安装mysqlclient
这是一个更改后的模板,仅供参考!!
在Django中数据库需要我们自己手动创建,不要指望Django帮我们创建,上图中DATABASES里自己设定的数据库,用户,密码,都需要自己手动在本地数据库创建
6.因为选择了mysql引擎,所以要在项目文件夹的init.py文件中加入
import pymysql
pymysql.install_as_MySQLdb() # 兼容mysqldb
7.然后在命令行执行 数据库的迁移
python manage.py makemigrations
python manage.py migrate
此时运行会报错,点开36行报错的文件,将36行的 if 语句注释掉
再将python manage.py migrate这条命令执行一遍,此时又会报一个错,点开146行报错的文件,将146行的decode改成encode,这是python2和python3的差异,再运行就会成功,此时会在mysql数据库中建好一些表
此时,Django基本的操作就执行完了