发布时间:2026/8/28 9:56:35
Django框架丨从零开始的Django入门学习 Django 是一个用于构建 Web 应用程序的高级 Python Web 框架Django是一个高度模块化的框架使用 Django只要很少的代码Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容并进一步开发出全功能的 Web 服务。每个 Django App 的组织结构符合 Django 的 MTV 法则——Model模型 Template模板 View视图文章内容将从安装开始对Django每一个模块的操作进行简单的讲解1. 安装Django------------想必大家肯定都安装好python了如果没有的话网络上很多教程可以参考安装好python后可以直接在命令行安装Django pip install django安装完成后你可以通过运行以下命令验证 Django 是否成功安装 python -m django --version或通过import进行检查2. 创建项目--------### 2.1 命令行新建项目通过终端进入到需要创建项目的指定目录通过Django的django-admin.py命令新建工程 cd Django django-admin startproject Hellodjango文件组成 django_news ├── django_news // 项目全局文件目录 │ ├──init.py │ ├── asgi.py.py // ASGI 兼容的 Web 服务器的入口(异步接受网络请求) │ ├── settings.py // 全局配置包括链接数据库等操作 │ ├── urls.py // 全局路由URL 声明 │ └── wsgi.py // WSGI 兼容的 Web 服务器的入口同步接受网络请求 └── manage.py // 项目管理脚本### 2.2启动服务器runserver创建好后先尝试启动服务器看是否成功 # 不定义端口号默认为8000 python manage.py runserver python manage.py runserver 8888 # 0.0.0.0 让其它电脑可连接到开发服务器 python manage.py runserver 0.0.0.0:8888上面三句都可以启动服务见到以下欢迎页面就是安装创建成功了Django 开发服务器可以保持开启修改代码会自动重新加载不需要重新启动服务器非常方便。3 新建应用startapp----------------新建一个App——相当于功能的划分一个 Django 应用由多个子应用组成一般称之为 App。 python manage.py startapp new01新建app的文件夹结构如下new01 // news 应用目录 ├── migrations // 数据库迁移变更记录 │ └──init.py ├──init.py // 初始化模块 ├── admin.py // 默认自带的后台管理配置 ├── apps.py // 应用配置 ├── models.py // 数据模型、数据库操作等 ├── tests.py // 单元测试 └── views.py // 视图url里的函数在这里找### 3.1 加入配置文件在Hellodjango/settings.py中找到 INSTALLED_APPS加入新建app的config### 3.2 第一个页面#### 3.2.1 视图view打开new01/views.py写一个简单的index相当于写了一个页面 from django.shortcuts import render from django.http import HttpResponse # Create your views here. def index(request): return HttpResponse(‘Hello Django!’) #### 3.2.2 接入路由下一步是让路由系统能够访问到刚才写好的视图函数也就是将页面加入到网页中在Hellodjango/urls.py中修改Django自带的urlpatterns通常接收以下三个参数 route必须即实际的访问路由空字符串等于 /即空路由展示为首页 view必须该路由将要访问的view视图 name可选该路由的名称方便后续在模板中使用 from new01 import views urlpatterns [ # path(‘admin/’, admin.site.urls), path(‘index/’, views.index) ]不过当然一个系统的页面会有很多网页编辑好了之后将路由加到urls.py的urlpatterns中就可以了可以看到urls.py文件中有一行path(‘admin/’, admin.site.urls)取消注释访问http://127.0.0.1:8888/admin已经可以看到后台系统的登录页面但此时还没有连接数据库其余内容到后面讲述4.数据库的时候再进行操作### 3.3 加入网页templatesrender在django项目目录下新建一个templates文件夹文件夹下面放入html文件把templates加入到路径中settings.py的TEMPLATES因为默认情况下会放到app下的templates里面写一个简单的网页web01.html meta charset“UTF-8”TitleThis is a web将网页写入到views.py中在这里我们使用render函数第一个参数为request第二个参数是文件名第三个参数可以不要是把文件中用{{}}标起来的内容替换的功能。 def web01(request): return render(request, “web01.html”)再添加到urls.py from new01 import views urlpatterns [ # path(‘admin/’, admin.site.urls), path(‘index/’, views.index), path(‘web/’, views.web01) ]此时输入网址可以看到网页接入成功其他的样式等可以按照CSS 、html的语法进行添加修改web01.html文件此时输入端口号可以看到对应的两个页面都在4.数据库-----Django 的 MTV我们已经讲了 TTemplate和 VView到了最后一个 MModel了。数据模型是 Django 入门最大的难点这一步之后便能真正上手 Django 开发。下面我们先介绍一下 Django 的数据模型设计。Django 在数据模型方面的特点* 由于高度解耦的设计可轻松切换各种关系型数据库默认的 SQLite可选 MySQL、PostgreSQL、Oracle 等等* 强大的 ORMObject Relation Mapping对象关系映射模块使得用 Python 操作数据库非常轻松免去了使用 SQL 的麻烦* 优秀的数据库迁移机制Migration修改数据模式Schema比较方便能够适应不断变化的功能需求### 4.1 开发流程一般数据模型开发流程如下1. 用 Django 定义一个新的数据模型在new01/models.py中2. 用makemigrations命令创建迁移文件存储在子应用的 migrations 目录里面3. 用migrate命令执行迁移 如后续发现定义有问题或不完善可以更新数据模型再重新进行23操作完成数据迁移### 4.2 实现一个简单的模型#### 4.2.1 创建数据模型在new01/models.py中定义数据模型以及你需要的字段可以先随便定义两个简单的字段进行尝试代码如下 from django.db import models # Create your models here. class Post(models.Model): # 根据模型自动值数据库中创建一个对应的表此表包括title, name两个字段 title models.CharField(max_length50) name models.CharField(max_length50) defstr(self): return self.title 定义好后再命令行执行如下命令创建迁移文件 python manage.py makemigrations通过输出可以看到成功创建了 new01/migrations/0001_initial.py 迁移脚本再进行下一步数据库迁移 python manage.py migrate数据库迁移完成后我们就可以创建用于登录后台管理的超级用户 python manage.py createsuperuser按照提示步骤输入用户名和密码创建成功就行#### 4.2.2 后台管理配置此时再输入前面提到的 http://127.0.0.1:8888/admin后台管理页面就可以通过刚刚创建的超级用户登录查看了但进入页面可以看到没有我们创建的应用和模型这是因为没有实现后台管理的接口配置在文件new01/admin.py中接口配置如下 from django.contrib import admin from .models import Post # Register your models here. admin.site.register(Post) 再刷新页面可以看到应用new01和模型Posts点击 Posts 一栏的 Add 按钮随便添加几条数据也可以看看修改、添加、删除等功能。#### 4.2.3 视图与数据连接新建一个网页html文件这里用先前用于测试的web01.html在views.py中绑定好页面与数据 from django.shortcuts import render from .models import Post def show_name(request): context {‘name_list’: Post.objects.all()} return render(request, ‘web01.html’, contextcontext)中html文件中写好渲染数据的语法 meta charset“UTF-8”Title{% if name_list %}{% for elem in name_list %}{{ elem.title }}{{ elem.name }}{% endfor %}{% else %}no data{% endif %} 最后不要忘记中urls.py中添加新设置好的视图 from django.urls import path from new01 import views urlpatterns [ path(‘name/’, views.show_name), ]最后访问定义好的路由 http://127.0.0.1:8888/name就可以看到刚才在后台管理系统中添加的数据了

相关新闻

2026/8/28 9:56:35

基于YOLOv8与PyQt5的自行车违规停放检测系统实战指南

简介:目标检测是计算机视觉的核心任务之一,旨在从图像或视频中定位并识别出感兴趣的目标物体。其原理通常基于深度学习模型,通过卷积神经网络提取图像特征,并预测目标的边界框和类别。这项技术的价值在于能够自动化地完成以往需要…

2026/8/28 9:51:30

显卡与集成显卡的本质区别:从硬件架构到应用场景的全面解析

1. 从“图形处理”到“计算核心”:显卡的现代定义 如果你最近在琢磨怎么给自己的电脑升级,或者被AI绘画、大语言模型搞得心痒痒,那么“显卡”这个词一定高频出现在你的视野里。但你可能也发现了,网上讨论的“显卡”,和…

2026/8/28 9:51:29

物理AI技术拆解:从仿真到现实的关键路径与开发者实践

物理 AI 这两年被频繁提起,从英伟达创始人黄仁勋在公开演讲中反复强调,到各大车企、机器人公司、工业自动化厂商纷纷布局,很多人的第一反应是“又一个概念风口来了”。但如果你认真看过当前的技术进展和产业落地节奏,会发现物理 A…

2026/8/28 14:48:36

MLPerf推理冠军GH200深度解析:架构优势与部署实践

MLPerf Inference v4.0的成绩单出来那几天,我所在的技术群里基本都在聊Grace Hopper Superchip。这个名字不好念,但成绩不难懂——同一套大语言模型推理负载下,GH200把上一代纯GPU方案甩开一大截,尤其在做离线批量推理和在线服务场…

2026/8/28 14:48:36

基于指数平滑的动态赋权方法在运力分配优化中的应用

1. 从一道国赛真题说起:运力分配与赋权的实战困境 如果你参加过数学建模国赛,尤其是C题这类偏向数据分析与优化的题目,大概率会遇到一个经典又棘手的问题:如何把有限的“运力”(比如车辆、人员、物资)合理地…

2026/8/28 14:48:36

AI Agent 办公自动化实战:从豆包工作看飞书多维表格与机器人开发

豆包工作这类 Agent 产品的出现,正在把办公软件从一个“工具型平台”变成“智能执行平台”。本文会从字节跳动发布豆包工作、并与飞书深度打通这一产品动态出发,拆解 AI Agent 在办公协作场景中的技术定位,然后落到工程实践:如何基…

2026/8/28 14:48:36

免费域名 5 分钟入门:US.KG 从注册到上线的完整指南

免费域名 5 分钟入门:US.KG 从注册到上线的完整指南 【免费下载链接】US.KG Free domain registration and practical DNS learning resources for everyone. 项目地址: https://gitcode.com/GitHub_Trending/us/US.KG DigitalPlat FreeDomain(US…

2026/8/28 14:48:36

从OCR到智能解析:xParse与WorkBuddy集成实战指南

在实际 AI 应用落地中,文档解析往往不是“调用一个 OCR 接口”这么简单。以合合信息 TextIn 平台推出的文档解析引擎 xParse 为例,它要处理的是版面分析、阅读顺序还原、表格结构识别、扫描件 OCR、Markdown 化输出等一系列问题。而 WorkBuddy 这类 AI 工…

2026/8/28 14:43:34

Renesas抗辐射芯片如何护航Artemis 1:从技术原理到工程实践

1. 项目概述:从Artemis 1任务看抗辐射芯片的硬核价值 提起Renesas(瑞萨电子),很多人第一反应是汽车MCU、工业控制芯片这些“接地气”的生意。但这次它出现在Artemis 1任务里,把自家抗辐射芯片送上了绕月轨道&#xff0…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/27 10:58:22

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/27 7:46:21

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/28 0:00:34

2026学术工具专业测评|Paperxie全维度性能实测报告[特殊字符]

2026年国内高校毕业论文审核体系全面升级,重复率查重AIGC人工智能检测双检机制正式常态化落地,多所高校明确执行“双项一票否决”制度,重复率超标或AI生成痕迹不达标,均直接取消答辩资格。随着抽检力度加大、学术规范要求升级&…

2026/8/28 0:00:34

凭什么稳居论文工具顶流[特殊字符]Paperxie综合实力深度全解析

2026年论文双检内卷严重,市面上AI论文工具层出不穷,但大多只是单一功能凑数、模板化严重、双检高风险、套路收费。 在一众同质化工具里,Paperxie能长期稳居行业顶流、成为应届生公认毕业神器,从来不是靠营销,而是靠实…

2026/8/28 0:00:34

2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

2026高校论文查重AIGC双检严查常态化。 市面上绝大多数AI论文工具依旧存在明显短板:模板感重、AI痕迹超标、改写毁逻辑、收费套路多、查重不准、格式适配差。 在全网工具普遍“偏科”的现状下,Paperxie凭借全维度均衡实力脱颖而出,成为适配…

2026/8/26 19:34:06

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/26 19:17:08

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…