Django初识体验
什么是Django
Django是一个由Python编写的一个开放源代码的Web应用框架,也是目前Python下使用最多的一个Web框架。Django的MVT模式:Model(模型)+ View(视图)+ Template(模板);和MVC本质上是一样的,都是为了组件间保持松耦合关系。
- Mode:编写程序应有的功能,负责业务对象与数据库的映射(ORM)
- View:负责业务逻辑
- Template:负责页面的展示
虚拟环境
虚拟环境是为了将不同的项目分隔开,防止不同项目之间因版本和库等问题而造成冲突
虚拟环境的创建
Python创建和管理虚拟环境有两个常用的工具:1、virtualenv和virtualwrapper。2、pipenv。本文采用的是pipenv创建虚拟环境。
1. pipenv的安装
pip install pipenv
# 换源安装
pip install pipenv -i https://pypi.douban.com/simple
2. 创建虚拟环境
- 创建文件夹(项目文件夹)
- 在cmd下进入到该文件夹
- 依次运行如下命令
# 创建虚拟环境
pipenv install
# 进入虚拟环境
pipenv shell
Django初体验
Django安装与运行
1. 安装Django
# 默认安装最新版本
pip install Django
# 指定版本安装,这里选择适合自己python编解释器的版本
pip install Django==2.2
确认是否安装成功只需要在命令行输入python后回车,然后import django,若无报错则安装成功。
2. 创建Django项目
如果是Pycharm专业版,在新建项目页面会有Django这个选项。直接创建即可
下面我们来说一种通用的方式来创建Django项目
- 打开cmd,运行如下代码
django-admin startproject your_project_name
- 打开Pycharm,打开项目文件目录,会出现刚才我们创建的那个项目
如果没有配置Python解释器,会提示你设置Python解释器。也可以自行配置,Python解释器选择之前创建好的虚拟环境里的Scripts里面的python.exe
3. 运行Django项目
运行manage.py,然后控制台会显示
只要配置manage.py的运行参数即可,在parameters一栏添加runserver
再次运行manage.py,出现如下则说明运行成功
初步了解app
app是Django项目的重要组成部分。在一个Django项目里,一个app代表一个模块。比如一个应用商店,有图书类,影视类,游戏类等。Django项目则是这个应用商店,而每一个app则代表着图书类,影视类和游戏类。
app的优势
- 方便管理
- 协同开发
- 方便维护
app的创建
cmd下切换到项目目录(含有manage.py),运行代码
python manage.py startapp your_app_name
成功后,项目目录就会出现hello这个目录,如果没有则需要刷新一下项目目录
HelloWorld简单路由实现
- 在hello文件夹的views.py做如下编辑
- 在HelloWorld文件下的urls.py做如下修改,如果导入hello错误,则需要将整个项目文件标记为根目录,不然urls.py在上一级的HelloWorld目录里找(这里面当然是没有的),而不会在整个项目文件里找
- 运行manage.py,如果页面出现Hello World则说明路由设置成功。
至此Django的初识体验就结束了
扩展
Django文件目录的说明,以下图这个文件目录为例
主目录下有两个文件夹和两个文件:hello和HelloWorld以及db.sqlite3和manage.py。
- manage.py:项目的入口文件,相当于整个项目的控制器,可以在命令行下运行python manage.py help查看能够做哪些操作
- db.sqlite3:Django自带的数据库文件。app创建并运行后会自动创建并生成migrations文件,如果没有可以在命令行下运行python manage.py migrate进行数据库迁移。
- hello:业务逻辑文件夹
- HelloWorld:项目配置文件夹
hello文件夹包含admin.py、apps.py、models.py、tests.py、views.py这五个主要文件:
- admin.py:后台管理员相关的文件
- apps.py:模块文件
- models.py:模型文件,写数据库相关的内容
- tests.py:测试文件
- views.py:视图文件;接收请求,处理请求,与Model和Template进行交互
HelloWorld文件夹包含settings.py、urls.py、wsgi.py这三个主要文件:
- setting.py:项目的配置文件
- urls.py:项目的路由配置文件,主要用以配置路由
- wsgi.py:在部署时需要用到的文件