Django是基于MVT架构模式的Web开发框架,使用python语言编写,并遵循BSD协议开源,鼓励快速高校开发。
它的核心组件:
- 完美的ORM:对象关系映射
- 灵活的路由:路径和访问资源的关联
- 成熟的模板:网页界面和数据的无缝融合
- 高效的缓存:提升Web性能
- 封装的表单:对数据进行增删改查的交互模式
1 MVC和MVT
在MVC中
M:Model。模型,包含数据模型和业务模型。数据模型封装软件处理的核心数据部分;业务模型结合实际业务流程,在业务流程中完成数据操作的部分。在传统开发模式中属于后端开发或服务器程序开发。
V:View。视图,在传统Web应用软件中主要指和用于交互的界面,在界面汇总可以展示软件信息,并接受用于输入的数据。属于前端开发。
C:Controller,控制器,是界面和模型之间的桥梁。用于接收请求,处理业务逻辑。
在MVT架构模式中,把传统MVC模式中的功能性控制器封装成可配置实现的路由,碎玉业务相关的模型、视图和模板单独进行了封装。
M:Model,模型,包含数据模型和业务模型。通MVC中M。
V:View,视图,主要含有视图处理模块和视图展示页面。接收请求,进行业务处理,返回结果。
T:Template,模板,含有两个部分,数据和模板语法。用过固定的模板语法,在网页视图中对数据进行渲染展示。
2 Django安装
1.pip命令行方式安装
python 3.5以上
pip install Django
默认安装最新版本,如果要安装指定版本,执行以下命令
pip install Django==1.11
注意:如果pip缺失,在Ubuntu上,可执行apt-get install python3-pip,对于Centos系统,可执行yum install python3-pip。
2.离线安装
两种来源:
如果github下载好Django源码包,解压后
python setup.py install
如果PyPI官网下载,执行
pip install Django-2.1.4-py3-none-any-whl
本系列使用anaconda管理环境和安装包。
安装完后验证:
django-admin --version
如果正常显示版本号,说明安装成功。
3 入门程序开发
3.1 创建项目
可以通过Django直接创建项目。
选择自己的工作目录,执行
django-admin startproject myproject1
执行完命令后,会自动在项目中创建Django标准项目文件结构
3.2 数据同步
同时,项目完成后,就已经含有大量的业务处理流程了,也已经包含了相应的数据类型。现在把这些数据类同步到数据库,生成表结构。虽然可以通过sql语句完成,但是Django封装好了数据迁移。
切换到项目根路径,执行以下命令
python manage.py migrate
看到输出以下结果,表名创建了哪些数据模块并同步到数据库
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
执行完命令后会在项目主目录下自动生成一个db.sqlite3的文件,它是django内置的SQLite数据库生成的数据文件。
Django默认了封装了SQLite3数据库,主要用于开发测试,后面会讲解如何切换数据库。
3.3 创建管理用户
为项目创建一个用户,主要为了登录Django内置管理平台,后面会详细讲解。
执行命令
python manage.py createsuperuser
按照控制台的提示填写信息
Username (leave blank to use 'test'): admin
Email address: admin@123.com
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
至此,一个Django项目就创建完成。
3.4 访问测试
现在进行功能测试。
执行如下命令:
python manage.py runserver
控制台窗口出现以下提示信息,说明启动成功
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
October 12, 2022 - 17:34:44
Django version 4.1, using settings 'myproject2.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
打开浏览器,访问地址 http://127.0.0.1:8000/,结果如下图
输入网址http://127.0.0.1:8000/admin/,可以进入Django内置管理平台
输入我们第三步创建好的用户密码,登录后如下