MVC和MTV模式
著名的MVC模式将Web应用程序分为模型(M)、控制器(C)、视图(V)三层,它们通过一种插件式、松耦合的方式连接在一起。模型负责业务对象与数据库对象(ORM),视图负责与用户的交互(页面),控制器接受用户输入并调用模型和视图完成用户请求。
Django的MTV模式在本质上与MVC模式相似,同样通过保持各组件之间的松耦合关系来设计。在Django的MTV中,分别代表:
- Model(模型): 负责业务对象与数据库对象(ORM)。
- Template(模版): 负责定义如何将页面展示给用户。
- View(视图): 负责处理业务逻辑,并在适当的时候调用Model和Template。
此外,Django还引入了一个URL分发器,用于将页面请求分发给不同的视图处理,而视图再调用相应的Model和Template。
Django的流程和命令行工具
以下是使用Django的流程和命令行工具的步骤:
- 安装Django:
pip3 install django
- 创建项目:
django-admin startproject mysite
- 在项目目录中创建
settings.py
、url.py
和wsgi.py
等文件。 - 启动文件为
manage.py
。
- 在项目目录中创建
- 创建应用:
python manage.py startapp app01
- 配置项目:在
settings.py
中进行配置,包括模板路径、静态文件路径等。 - 设计代码:根据需求设计代码,包括
url.py
和view.py
等。 - 使用模板:在视图中使用模板,如
render(req, "index.html")
。 - 启动项目:
python manage.py runserver 127.0.0.1:8090
- 连接数据库,操作数据:在
model.py
中定义数据模型,并在视图中进行数据库操作。
Django的命令行工具
Django的命令行工具包括django-admin.py
和manage.py
,用于管理任务和启动项目。通过这些工具可以创建项目、应用,进行数据库同步,生成同步数据库的脚本等操作。
Django的配置文件(settings)
Django的配置文件settings.py
中包含了一些重要的配置,例如静态文件设置、数据库设置等。其中,静态文件设置涉及STATIC_ROOT
、STATIC_URL
、MEDIA_ROOT
、MEDIA_URL
等参数,用于指定静态文件存储位置和访问路径。
Django URL(路由系统)
Django的URL配置(URLconf)定义了URL模式与视图函数之间的映射关系。URL模式使用正则表达式,可以通过位置参数或命名参数将匹配的值传递给视图函数。URLconf还支持包含其他URLconf,实现模块化的URL配置。
其他重要参数设置
- APPEND_SLASH: 用于指定是否在URL末尾添加斜杠,影响是否进行重定向。
- MEDIA_ROOT和MEDIA_URL: 用于处理用户上传的文件,定义文件存储位置和访问路径。
- STATIC_ROOT和STATIC_URL: 用于处理静态文件,包括公共的js、css、images等。
- STATICFILES_DIRS: 指定额外的静态文件存储位置。
Named groups
Django的URLconf支持使用命名正则表达式组,将URL中的匹配部分作为关键字参数传递给视图函数。
Passing extra options to view functions
通过url()
函数的第三个参数,可以向视图函数传递额外的关键字参数,提供更多选项。
Dealing with conflicts
处理URL中命名参数与额外参数之间的冲突。
name参数
通过name
参数为URL模式指定别名,便于在模板中使用{% url 'name' %}
的方式生成URL。
Including other URLconfs
通过include
函数可以包含其他URLconf模块,将一组URL嵌套在另一组URL之下。
暂无评论内容