Django知识点概览

44 阅读2分钟

1. 项目和应用

  • 项目:Django项目是一个Web应用程序的整体结构,包含多个应用和配置。在命令行中使用django-admin startproject projectname创建项目。
  • 应用:应用是Django项目中的一个功能模块,在命令行中使用python manage.py startapp appname创建。

2. MVT架构

  • Model(模型) :负责与数据库进行交互,定义数据结构和关系。
  • View(视图) :处理HTTP请求并返回HTTP响应,通常从模型中提取数据,并将其传递给模板。
  • Template(模板) :定义前端显示的HTML,允许嵌入动态数据。

3. 配置

  • settings.py:项目的配置文件,包括数据库配置、中间件、静态文件设置等。
  • urlconf:即urls.py,定义URL路由,将URL映射到视图函数。

4. 模型(Models)

  • 定义模型类继承于django.db.models.Model
  • 字段类型:CharFieldTextFieldIntegerFieldDateField等。
  • 模型操作:CRUD(创建、读取、更新、删除)、查询集(QuerySet)、关系(外键、ManyToManyField)。

5. 视图(Views)

  • 函数视图:使用Python函数定义视图。
  • 类视图:使用Python类实现更复杂的视图逻辑。
  • 通用视图:Django提供的预定义视图类,如ListViewDetailView等,帮助处理常见模式。

6. 模板(Templates)

  • HTML文件,使用{% %}来控制语句,用{{ }}渲染变量。
  • 继承机制:{% extends "base.html" %}
  • 加载静态文件和模板标签库。

7. URL路由

  • urls.py中使用path()re_path()方法定义路由。
  • 可以包含命名空间,以减少URL冲突。

8. 表单处理

  • 使用django.forms.FormModelForm创建表单。
  • 验证输入数据并处理用户提交。

9. 用户认证与授权

  • Django提供强大的认证系统,包括用户登录、登出、权限和组。
  • 自定义用户模型以适应不同需求。

10. 中间件

  • 介于请求和响应之间处理逻辑的钩子。
  • 常用的中间件有Session、认证、CSRF保护等。

11. 静态文件和媒体文件

  • 静态文件:CSS、JavaScript、图像等,使用STATIC_URL
  • 媒体文件:用户上传的内容,使用MEDIA_URL

12. 国际化与本地化

  • Django支持将你的应用翻译成多种语言。
  • 使用ugettext()gettext_lazy()对字符串进行翻译。

13. 单元测试

  • Django具有强大的测试框架。
  • 使用test.py定义和运行测试用例。

14. 部署

  • 调整settings.py以适应生产环境,如使用Gunicorn或uWSGI与Nginx结合。
  • 使用django-admin collectstatic收集静态文件。

这些是Django的基本和关键知识点,掌握这些可以帮助你快速上手开发新的Django项目。建议结合Django文档和教程进行更深入的学习和实践。