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

相关推荐
枫叶200030 分钟前
OceanBase数据库-学习笔记1-概论
数据库·笔记·学习·oceanbase
仲夏plus40 分钟前
MySQL:慢SQL索引优化-使用explain/analyze进行耗时分析的方法
数据库
tcoding1 小时前
《MySQL 技术内幕-innoDB 存储引擎》笔记
数据库·笔记·mysql
Edward.W1 小时前
如何有效防止 SQL 注入攻击?
数据库·sql
好想有猫猫2 小时前
【Redis】服务端高并发分布式结构演进之路
数据库·c++·redis·分布式·缓存
桥Dopey2 小时前
关系型数据库PostgreSQL for Mac 保姆级使用教程
数据库·postgresql
@_猿来如此2 小时前
Django 实现电影推荐系统:从搭建到功能完善(附源码)
数据库·后端·python·django
nbsaas-boot2 小时前
SQL Server 存储过程开发手册
数据库
uncofish2 小时前
springboot不连接数据库启动(原先连接了mysql数据库)
数据库·spring boot·mysql
Databend4 小时前
大数据是不是凉了?
数据库