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
。 - 字段类型:
CharField
、TextField
、IntegerField
、DateField
等。 - 模型操作:CRUD(创建、读取、更新、删除)、查询集(QuerySet)、关系(外键、ManyToManyField)。
5. 视图(Views)
- 函数视图:使用Python函数定义视图。
- 类视图:使用Python类实现更复杂的视图逻辑。
- 通用视图:Django提供的预定义视图类,如
ListView
、DetailView
等,帮助处理常见模式。
6. 模板(Templates)
- HTML文件,使用
{% %}
来控制语句,用{{ }}
渲染变量。 - 继承机制:
{% extends "base.html" %}
。 - 加载静态文件和模板标签库。
7. URL路由
- 在
urls.py
中使用path()
、re_path()
方法定义路由。 - 可以包含命名空间,以减少URL冲突。
8. 表单处理
- 使用
django.forms.Form
或ModelForm
创建表单。 - 验证输入数据并处理用户提交。
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文档和教程进行更深入的学习和实践。