首页 Django视图,模板,路由和模型基础
pay pay
教程目录
  • Django视图,模板,路由和模型基础

Django视图(View)、模板(Template)、路由(URL)和模型(Model)使用

日期: 二月 16, 2023, 3:46 a.m.
栏目: Django教程
阅读: 218
作者: Python自学网-村长

摘要: Django 是一个基于 MVC 模式的 Web 框架,视图(View)、模板(Template)、路由(URL)和模型(Model)是 Django 中四个重要的组成部分。

Django 是一个基于 MVC 模式的 Web 框架,视图(View)、模板(Template)、路由(URL)和模型(Model)是 Django 中四个重要的组成部分。

一、视图(View)

在 Django 中,视图是处理 Web 请求并返回 Web 响应的函数。视图函数通常是在 views.py 文件中定义的 Python 函数,接受一个 Web 请求作为参数,并返回一个 Web 响应。视图函数可以使用 Django 中的模型对象和模板系统等组件进行操作,以便实现各种功能。

以下是一个简单的 Django 视图函数的示例:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello, world!")

二、模板(Template)

模板是 Django 中用于构建 HTML 页面的组件。模板通常是包含了 HTML 代码和模板标签(template tag)的文本文件,模板标签允许将数据动态地插入到模板中。模板中的变量可以通过上下文对象(context)传递给模板,上下文对象是一个 Python 字典,包含了模板变量名和对应的值。

以下是一个简单的 Django 模板文件的示例:

<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ headline }}</h1>
    <p>{{ content }}</p>
</body>
</html>

在这个模板中,使用双花括号包裹的变量名将在渲染模板时被替换为对应的值。这个模板中包含了一个变量 title,headline 和 content,这些变量可以在视图函数中通过上下文对象传递给模板。

三、路由(URLconf)

路由是 Django 中用于将 URL 地址映射到视图函数的机制。路由由一个 URL 模式(URL pattern)和一个视图函数组成,Django 使用 URL来管理应用的路由。

在 Django 中,URL是一个 Python 模块,包含了一组 URL 模式和对应的视图函数。当 Web 请求到达 Django 时,Django 会根据请求的 URL 地址匹配 URL中的 URL 模式,找到对应的视图函数来处理请求。

以下是一个简单的 Django URL的示例:

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello, name='hello'),
]

四、模型(Model)

在 Django 中,模型是一个 Python 类,它定义了数据库中的表结构。 Django 会自动为每个模型创建一个数据库表,并为每个表中的每个字段创建相应的列。你可以将模型想象成数据的结构,通过定义模型类的属性,定义数据的结构,包括数据的类型、长度、默认值等等。

Django 提供了一个称为 ORM(Object Relational Mapping)的方法,它使开发人员可以使用 Python 代码来与数据库交互,而不需要编写 SQL 语句。ORM 通过将数据库的表、列和行转换为 Python 对象来实现这一点。

以下是一个简单的模型定义示例:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=100)
    publish_date = models.DateField()

在这个例子中,我们定义了一个名为 Book 的模型,它包含三个字段:title,author 和 publish_date。CharField 是一个字符型字段,max_length 参数定义了字段的最大长度。DateField 是一个日期型字段。

五、更多详细教程参考

 

部分文字内容为【Python自学网】原创作品,转载请注明出处!视频内容已申请版权,切勿转载!
回顶部