django(二):第一个项目

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

1. 新建app

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

powershell 复制代码
python manage.py startapp company

注册app到settings.py文件中。

2.实现Model层

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

python 复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

在models.py中增加Company类,包含三个属性。

python 复制代码
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

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

powershell 复制代码
python manage.py makemigrations
python manage.py migrate

3.实现View层

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

python 复制代码
# 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层返回的所有数据。

html 复制代码
<!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层处理该请求。

python 复制代码
from django.contrib import admin
from django.urls import path
from . import views

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

6.增加测试数据

在终端执行以下命令,增加3条测试数据。

执行位置如下:

执行命令如下:

powershell 复制代码
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.运行程序

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

powershell 复制代码
python manage.py runserver

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

相关推荐
2603_965148115 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl5 小时前
RocksDB 经典故障排查:L0、compaction 与 write stall
数据库
xfhuangfu6 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT6 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData6 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean7 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean7 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X8 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.8 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠8 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle