MTV设计模式
采用Django的MTV设计模式
MTV模式请求与响应过程:
用户通过浏览器对服务器端发起request请求,服务器接受请求后,通过路径匹配路由中已定义的视图函数,如果能匹配到路由,则通过view的业务逻辑层进行分析,同时向Model层和Template层发送指令;如果没有匹配到路径,则抛出异常,或返回定义好的错误页面
Model层与数据库进行交互,将数据返回给View层
Template层接收达到指令后,调用相应的模板,并返回给View
View层接收到模板与数据后,首先对模板进行渲染(即将相应的值赋值给模板),然后组织成相应格式返回浏览器,浏览器解析后并最终呈现给用户。
1、创建项目
创建Django项目有两种方法
(一)命令行创建
- 创建项目
切换到想要放项目的目录,运行以下命令
django-admin startproject {projectname}
- 创建应用
一个应用(app)就是一个模块
命令行创建项目不会自动创建应用(app),需要手动创建,运行以下命令:
python manage.py startapp {appname} #要在项目路径下执行这条命令
创建应用后,在{projectname}/setting.py中把应用添加到项目中,django才能识别到
- 启动项目
python manage.py runserver
Django默认通过本机的8000端口来启动项目,也可以指定IP地址或端口号来启动项目
python manage.py runserver 127.0.0.1:8080
- 启动成功后访问项目
打开浏览器,访问http://127.0.0.1:8000/,也可以直接点击pycharm中的控制台中的地址
(二)用pycharm创建项目
用pycharm创建项目时,输入app name,可以同时创建一个App且不用在setting中手动配置了,但如果后续还需要创建新的App,则直接重复(一).2步骤
创建项目成功后 自动生成目录文件
目录说明:
myapp01:一个应用包
- migrations: 用于记录models中数据的变更
- admin.py: 映射models中的数据到Django自带的admin后台
- apps.py: 用于应用程序的配置,在新的Django版本中新增文件
- models.py: Django的模型文件,创建应用程序数据表模型(对应数据库的相关操作)
- tests.py:创建Django测试用例
- views.py: Django的视图文件,控制向前端页面显示的内容
mydjangoProject: 与项目名称相同的一个包
- __init__.py: 默认一个空的文件,标识一个目录为Python的标准包;
- setting.py: Django项目的配置文件,包括Django模块应用配置、数据库配置、 模板配置等.
- urls.py: 配置URL路由,即与视图的映射关系
- wsgi.py: 与WSGI兼容的Web服务器为你的项目提供服务的入口点。
template:用于存放html模板文件的目录
manage.py: 管理Django项目的命令行工具,可以让那你在使用Django项目时以不同的方式进行交互
2、启动项目
创建项目成功后,启动项目,运行如下命令:
python manage.py runserver
启动成功后 点击链接地址直接访问
看到如下页面,说明项目启动成功
【遇到的问题】在启动项目时 遇到了一个问题,报错如图<