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条测试数据。

相关推荐
Tapdata1 小时前
《实时分析市场报告 2025》上线 | 从批处理到实时洞察,2025 年全球实时分析市场全景解读
数据库
海梨花2 小时前
【从零开始学习Redis】项目实战-黑马点评D2
java·数据库·redis·后端·缓存
代码的余温3 小时前
SQL性能优化全攻略
数据库·mysql·性能优化
Q_Q5110082854 小时前
python的软件工程与项目管理课程组学习系统
spring boot·python·django·flask·node.js·php·软件工程
手把手入门5 小时前
★CentOS:MySQL数据备份
数据库·mysql·adb
SelectDB6 小时前
5000+ 中大型企业首选的 Doris,在稳定性的提升上究竟花了多大的功夫?
大数据·数据库·apache
路多辛6 小时前
Golang database/sql 包深度解析(二):连接池实现原理
数据库·sql·golang
SimonKing6 小时前
Mybatis批量插入,形式不同性能也不同
数据库·后端·程序员
杰克尼7 小时前
MYSQL-175. 组合两个表
数据库·mysql
DemonAvenger7 小时前
MySQL索引原理深度解析与优化策略实战
数据库·mysql·性能优化