Django概述

Django Demo 入门

前言

本文档旨在从入门到入土的整理Django的学习路线,以提供于其他人进行学习。
本文档参考了Django官方技术文档进行编写。Django版本应为4.2版本。

Django 概览

因为 Django 是在快节奏的新闻编辑室环境中开发的,所以它旨在使常见的 Web 开发任务变得快速和简单。下面是关于如何使用 Django 编写数据库驱动的 Web 应用程序的非正式概述。

本文档的目的是为您提供足够的技术细节以了解 Django 的工作原理,但这并不是一个教程或参考——但我们两者都有!当您准备好开始一个项目时,您可以 从教程开始或直接进入更详细的文档。

设计你的模型¶
尽管您可以在没有数据库的情况下使用 Django,但它带有一个 对象关系映射器,您可以在其中用 Python 代码描述您的数据库布局。

数据模型语法提供了许多丰富的方式来表示您的模型——到目前为止,它已经解决了多年的数据库模式问题。这是一个简单的例子:

mysite/news/models.py¶
from django.db import models


class Reporter(models.Model):
    full_name = models.CharField(max_length=70)

    def __str__(self):
        return self.full_name


class Article(models.Model):
    pub_date = models.DateField()
    headline = models.CharField(max_length=200)
    content = models.TextField()
    reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)

    def __str__(self):
        return self.headline

安装它

接下来,运行 Django 命令行实用程序自动创建数据库表:

$ python manage.py makemigrations
$ python manage.py migrate

该makemigrations命令查看所有可用模型并为尚不存在的表创建迁移。migrate 运行迁移并在数据库中创建表,并可选择提供更丰富的模式控制。

设计你的 URL

干净、优雅的 URL 方案是高质量 Web 应用程序的重要细节。Django 鼓励漂亮的 URL 设计,并且不在 URL 中放置任何垃圾,例如.php或.asp。

要为应用程序设计 URL,您可以创建一个名为URLconf的 Python 模块。您的应用程序的目录,它包含 URL 模式和 Python 回调函数之间的映射。URLconf 还用于将 URL 与 Python 代码分离。

Reporter对于上面的/示例,URLconf 可能如下所示Article :

from django.urls import path

from . import views

urlpatterns = [
    path("articles/<int:year>/", views.year_archive),
    path("articles/<int:year>/<int:month>/", views.month_archive),
    path("articles/<int:year>/<int:month>/<int:pk>/", views.article_detail),
]

上面的代码将 URL 路径映射到 Python 回调函数(“视图”)。路径字符串使用参数标签从 URL 中“捕获”值。当用户请求页面时,Django 按顺序遍历每条路径,并在第一个与请求的 URL 匹配的路径处停止。(如果它们都不匹配,Django 会调用一个特殊情况的 404 视图。)这非常快,因为路径在加载时被编译成正则表达式。

一旦其中一个 URL 模式匹配,Django 就会调用给定的视图,这是一个 Python 函数。每个视图都会传递一个请求对象——其中包含请求元数据——以及模式中捕获的值。

例如,如果用户请求 URL“/articles/2005/05/39323/”,Django 将调用该函数。news.views.article_detail(request, year=2005, month=5, pk=39323)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loading_create

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值