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

相关推荐
我真的是大笨蛋几秒前
MVCC解析
java·数据库·spring boot·sql·mysql·设计模式·设计规范
hcnaisd21 分钟前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
强子感冒了6 分钟前
MySQL学习笔记:索引和数据库设计
数据库·学习·mysql
eWidget16 分钟前
从MongoDB到金仓数据库:一场零中断的国产化迁移实践
数据库·mongodb·kingbase·数据库平替用金仓·金仓数据库
niceffking28 分钟前
SQL(困难):计算用户的平均次日留存率
数据库·sql
zgl_2005377930 分钟前
源代码:ZGLanguage 解析SQL数据血缘 之 显示 MERGE SQL 结构图
数据库·数据仓库·hive·数据治理·etl·sql解析·数据血缘
__风__31 分钟前
PostgreSQL timestamp类型说明
数据库·postgresql
Yolanda9437 分钟前
【IDEA】IDEA连接MongoDB数据库
数据库·mongodb·idea使用
FJW02081441 分钟前
关系型数据库大王Mysql——SQL编程
数据库·sql·mysql
一 乐44 分钟前
在线考试|基于springboot + vue在线考试系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计