Django简明教程:View、Url、模板与Model解析

需积分: 34 1 下载量 103 浏览量 更新于2024-09-13 收藏 415KB PDF 举报
"Django绝对简明教程,由张沈鹏编写,涵盖了Django的基础知识,包括View函数、Url配置、模板和Model数据库等内容。教程旨在帮助学习者快速回顾和理解Django框架的关键概念。" 在Django框架中,开发者需要掌握以下几个核心知识点: 1. **View函数**:View是Django处理用户请求并返回响应的核心部分。它们是Python函数或类,接收HttpRequest对象,并根据请求的内容生成HttpResponse对象。例如,`hours_ahead`视图函数接收一个时间偏移量参数,计算当前时间加上这个偏移量后的结果,并将结果显示给用户。 - **直接输出**:可以直接在View函数中构建HTML字符串并返回,如示例中的`HttpResponse("In %shour(s), it will be %s.")`。 - **泛型视图**:Django提供了一些预定义的视图,可以简化常见的任务,如渲染模板、重定向等。泛型视图可以减少代码量,提高效率。 2. **Url配置**:Django使用URLconf来将URL模式映射到对应的View。URL配置可以包含参数匹配、命名变量和`include`其他URL配置。 - **匹配参数**:URL模式可以包含动态部分,通过圆括号捕获URL路径中的部分,如`/user/<username>/`。 - **命名变量**:通过`name=`参数为URL模式定义别名,方便在模板中反转URL。 3. **模板**:Django模板语言(DTL)用于生成动态HTML。模板可以接收参数,调用对象方法,插入变量,以及使用控制结构。 - **传入参数**:视图可以将数据传递给模板,模板变量通过`{{ variable }}`表示。 - **调用对象的方法**:`{{ object.method }}`可以在模板中调用对象的方法。 - **插入变量**:例如,`{{ user.username }}`将显示用户对象的用户名属性。 - **块语句**:包括条件语句(`if`,`ifequal`,`ifnotequal`)和循环语句(`for`)。 - **include**:`{% include "filename.html" %}`可以将另一个模板嵌入当前模板。 - **注释**:`{# comment #}`用于在模板中添加注释。 - **使用模板文件**:通常将模板内容放在单独的`.html`文件中,便于组织和重用。 4. **过滤器**:模板语言支持过滤器,用于转换或修饰变量的值。例如: - **date**:`{{ date|date:"format" }}`将日期按照指定格式显示。 - **escape/linebreaks**:`{{ text|escape }}`用于HTML转义,`{{ text|linebreaks }}`将换行转换为HTML `<br>` 标签。 - **addslashes**:添加反斜杠以转义特殊字符。 - **length**:`{{ list|length }}`返回列表的长度。 5. **Model数据库**:Django的ORM(对象关系映射)允许开发者以Python对象的方式操作数据库。Model定义了数据模型,包括字段类型、验证规则等。例如: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=100) publication_date = models.DateField() ``` 通过Model,你可以创建、查询、更新和删除数据库记录。 以上是Django教程中涉及的一些基本概念,实际开发中还需要学习更多高级特性,如中间件、表单处理、用户认证、缓存系统等。不断实践和深入学习,将有助于你更好地理解和掌握Django框架。