django(二):第一个项目

news2024/11/25 20:33:17

接上文,django(一):项目搭建开始开发第一个项目。

1. 新建app

创建一个app应用,取名为company。

python manage.py startapp company

在这里插入图片描述
注册app到settings.py文件中。
在这里插入图片描述

2.实现Model层

settings.py文件中配置数据库,作为示例我们使用sqlite3数据库。这个数据库需要单独安装,在django环境下就可以运行。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

在这里插入图片描述
在models.py中增加Company类,包含三个属性。

from django.db import models


class Company(models.Model):
    name = models.CharField(max_length=255, verbose_name='公司名称')
    addr = models.CharField(max_length=255, verbose_name='公司地址')
    phone = models.CharField(max_length=255, verbose_name='公司电话')

    # 配置元信息
    class Meta:
        db_table = 't_company'
        verbose_name = '公司信息'
        verbose_name_plural = verbose_name

在终端输入命令创建数据库。

python manage.py makemigrations
python manage.py migrate

3.实现View层

定义函数company_list,返回数据库中所有数据。数据渲染由一个模板来完成。

# Create your views here.
from django.shortcuts import render
from .models import Company


def company_list(request):
    company = Company.objects.all()
    context = {'companys': company}
    return render(request, 'company_list.html', context)

4.实现Template层

定义模板company_list.html,渲染view层返回的所有数据。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Company List</title>
</head>
<body>
<h1>Company List</h1>
<ul>
    {% for company in companys %}
    <li>{{ company.name }}-{{ company.addr }}-{{company.phone}}</li>
    {% endfor %}
</ul>

</body>
</html>

在这里插入图片描述

5.实现路由层

在项目下增加路由“company/”,转交应用层路由company.urls处理。
在这里插入图片描述
在应用company中增加路由company/companys/,由views.company_list层处理该请求。

from django.contrib import admin
from django.urls import path
from . import views

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

在这里插入图片描述

6.增加测试数据

在终端执行以下命令,增加3条测试数据。
执行位置如下:
在这里插入图片描述
执行命令如下:

from company.models import Company
company = Company(name="Tom", addr="beijing", phone="13100000001")
company.save()
company = Company(name="Jerry", addr="shanghai", phone="13100000002")
company.save()
company = Company(name="Spike", addr="tianjin", phone="13100000003")
company.save()

在这里插入图片描述

7.运行程序

在终端执行以下命令,运行程序。

python manage.py runserver

在浏览器中输入地址:http://127.0.0.1:8000/company/companys/,可以看到刚才增加的3条测试数据。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2086588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试学习笔记丨静态测试与代码审计 SonarQube

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/32049 一&#xff0c;SonarQube 平台搭建 1.1&#xff0c; 介绍 Sonar 是一个用于代码质量管理的开放平台。通过插件机制&#xff0c;Sonar 可以集成不同的测试工具、代码分析工具&#xff…

FATE Board 执行流程探索

背景介绍 FATE Board 是 FATE 提供的一个工程&#xff0c;用于给 FATE 提供可视化能力&#xff0c;方便在联邦学习训练中实时查看执行状态&#xff0c;更好地定位执行中遇到的问题。 查看 FATE 架构可以看到 FATE Board 是建立在 MySQL 和 FATE Flow Server 的基础上的&#…

Unity(2022.3.41LTS) - 着色器

目录 一、着色器的基本概念 二、表面着色器 一、着色器的基本概念 定义与作用&#xff1a; 着色器是一种在图形硬件上运行的程序&#xff0c;用于控制物体的颜色、纹理、光照、透明度等视觉属性。它通过对输入的几何数据&#xff08;如顶点位置、法线、纹理坐标等&#xff09…

某地级市攻防演练突破边界实战

0x1前言 今年某地级市的攻防中&#xff0c;前期通过fofa、google语法、天眼查等待信息收集获取到了某集团的单位后台后台是这样的&#xff0c;当看到这个后台系统时候脸上 不直接也就微笑了起来。最近风声紧&#xff0c;所有厚码希望大家多多理解&#xff08;我也怕死啊呜呜呜…

【MRI基础】k空间基本属性

K 空间本质上是一个矩阵&#xff0c;用于存储从 MRI 扫描仪获得的原始数据。这些数据是在扫描过程中收集的&#xff0c;K 空间中的每个点代表被扫描身体发出的 MRI 信号的不同频率和相位。存储在 K 空间中的数据不是图像形式&#xff0c;而是包含重建图像所需的所有空间频率信息…

灵办 AI:免费智能利器,开启高效办公与智能创作学习新时代

目录 引言一、初识灵办AI—开启智能办公二、灵办 AI 的强大功能解析1. 多语言翻译2. AI 对话功能3. AI 阅读功能4. AI 代码助手功能 三、灵办 AI 的其他优点四、结语 引言 在当今快节奏的时代&#xff0c;技术人员们都在努力寻觅能够提高工作效率、助力学习创作的工具。我同样…

YOLO | YOLO目标检测算法(YOLO-V1)

github&#xff1a;https://github.com/MichaelBeechan CSDN&#xff1a;https://blog.csdn.net/u011344545 YOLO目标检测算法 YOLO V1概述&#xff08;2016&#xff09; YOLO V1概述&#xff08;2016&#xff09; 经典的One-stage方法 YOLO&#xff1a;You Only Look Once 把…

4.sklearn-K近邻算法、模型选择与调优

文章目录 环境配置&#xff08;必看&#xff09;头文件引用1.sklearn转换器和估计器1.1 转换器 - 特征工程的父类1.2 估计器(sklearn机器学习算法的实现) 2.K-近邻算法2.1 简介&#xff1a;2.2 K-近邻算法API2.3 K-近邻算法代码2.4 运行结果2.5 K-近邻算法优缺点 3.模型选择与调…

uni-app插槽(默认插槽,命名插槽,作用域插槽)

目录 什么是插槽? 基本概念 默认插槽 命名插槽 作用域插槽 场景一:子插槽向父组件传递一个字符串 场景二:子插槽向父组件传递对象 什么是插槽? 在 UniApp 中&#xff0c;插槽&#xff08;Slot&#xff09;是一种允许父组件向子组件特定位置插入HTML内容的方式。这种方式使得组…

ROS 2 Jazzy和QT组合开发教程

ROS2 Jazzy和QT组合开发教程 ROS2 和 Qt 组合开发是一个强大且灵活的组合&#xff0c;可以用来构建具有 GUI 的机器人应用程序。这个组合让你能够将 Qt 的图形界面与 ROS 2 的分布式通信功能结合在一起&#xff0c;实现数据的展示、机器人控制、调试等功能。 环境如下&#x…

掌握人事管理,这张报表帮你轻松搞定

在人事管理中&#xff0c;数据分析的重要性不言而喻。无论是了解员工的整体情况&#xff0c;还是洞察人才流失的原因&#xff0c;数据都能为我们提供有力的支持。但是&#xff0c;面对海量的数据&#xff0c;很多HR都会感到不知所措。那么&#xff0c;如何通过一张报表解决所有…

数字化转型升级探索(三)

在数字化转型升级的探索过程中&#xff0c;我们将通过深入应用人工智能、物联网、大数据和云计算等技术&#xff0c;全面重塑业务流程和运营模式&#xff0c;推动信息流、业务流和价值流的高度融合&#xff0c;实现从传统手工操作到智能自动化的全方位升级&#xff0c;提升业务…

【Python报错已解决】`SyntaxError`:`invalid syntax`

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 在Python编程中&#xff0c;SyntaxError是最常见的错误类型之一&#xff0c;它表示代码中存在语法错误。本文将探讨一个具…

★ 算法OJ题 ★ 力扣202 - 快乐数

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将和大家一起做一道双指针算法题--快乐数~ 目录 一 题目 二 算法解析 三 编写算法 一 题目 202. 快乐数 - 力扣&#xff08;LeetCode&#xff09; 二 算法解析 题⽬告诉我们&#xff0c;当我们不断重复操作…

数字化转型升级探索(四)

在数字化转型升级的探索中&#xff0c;我们将致力于通过整合先进的技术手段&#xff0c;如人工智能、区块链、大数据和云计算&#xff0c;全面改造传统业务模式&#xff0c;实现智能化运营和数据驱动决策&#xff0c;从而提高企业的效率与灵活性&#xff1b;通过实施全新的数字…

【微处理器系统原理与设计应用入门】典型的微处理器及系统

一. 基于微处理器的系统结构 首先明确什么是处理器&#xff1f; 我们在设计一个系统完成一个功能时&#xff0c;必不可少的一个环节就是信息处理&#xff0c;我们人脑处理信息是依靠神经系统传递神经冲动&#xff0c;而对于机器而言需要指令来完成信息处理&#xff0c;所以一…

Golang 小项目(3)

Golang 小项目(3) 前言 本项目适合 Golang 初学者,通过简单的项目实践来加深对 Golang 的基本语法和 Web 开发的理解。 前往 torna.top 免费查阅 项目结构 D:. ├─ go.mod ├─ go.sum │ ├─cmd │ └─main │ main.go │ └─pkg├─config│ app.go│…

CSDN的技术人员真牛,3分钟定位到问题所在

加密社 昨天晚上&#xff0c;我为了方便写文后一键同步至我的其他账号&#xff0c;安装了个浏览器插件 然后今天一来&#xff0c;我发现csdn的内容管理-创作者平台打不开了 我试了各种办法&#xff0c; 包括清缓存&#xff0c;换浏览器重试&#xff0c;换网络&#xff0c;重…

14%电抗器可以过滤几次谐波

14%电抗器&#xff08;也称为14%阻抗电抗器&#xff09;是一种用于限制电流谐波的设备&#xff0c;主要通过增加系统的阻抗来减少谐波电流的幅度。它的“14%”表示电抗器的阻抗相对于电力变压器的额定阻抗的比例&#xff0c;即电抗器的阻抗是变压器阻抗的14%。 一、谐波过滤能力…

【递归深搜之记忆化搜索算法】

1. 斐波那契数 解法一&#xff1a;递归 class Solution { public:int fib(int n) {return dfs(n);}int dfs(int n){if(n 0 || n 1)return n;return dfs(n - 1) dfs(n - 2);} }; 解法二&#xff1a;记忆化搜索 class Solution {int nums[31]; // 备忘录 public:int fib(int …