day15 Django开发
主题:员工管理系统
1、新建项目
django-admin startobject day15
2、创建app
创建app
python manage.py startapp app01
注册app
# settings.py
INSTALLED_APPS = [
...
'app01.apps.App01Config'
]
3、设计表结构
# models.py
from django.db import models
class Dpartment(models.Model):
"""部门表"""
title = models.CharField(verbose_name="标题", max_length=32) # verbose_name相当于备注
class UserInfo(models.Model):
"""员工表"""
name = models.CharField(verbose_name="姓名", max_length=16)
password = modeld.CharField(verbose_name="密码", max_length=64)
age = models.IntegerFirld(verbose_name="年龄")
account = models.DecimalField(verbose_name="账户余额", max_digits=10, decimal_places=2, default=0)
create_time = models.DateTimeField(verbose_name"入职时间")
# 1.定义外键,与Department表的id关联
# 2.写depart,django自动生成数据表列depart_id
# 3.1定义级联方式为级联删除
# depart = models.ForeinKey(to="Department", to_field="id", on_delete=models.CASCADE)
# 3.2定义级联方式为置空(前提是该列可以为NULL)
# depart = models.ForeinKey(to="Department", to_field="id", on_delete=models.SET_NULL)
depart = models.ForeinKey(to="Department", to_field="id", on_delete=models.CASCADE)
# 在django中做的约束
gender_choices = (
(1, "男"),
(2, "女"),
)
gender = models.SmallIntegerField(verbose_name="性别", choices=gender_choices)
4、在mysql中生成表
- 工具连接mysql生成数据库
create database gx_day15 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- 修改配置文件,连接mysql
# settings.py
DATABASES = {
'default':{
'ENGINE': 'django.db.backends.mysql',
'NAME': 'gx_day15',
'USER': 'root',
'PASSWORD': 'root123',
'HOST': '127.0.0.1', # 安装MySQL的主机
'PORT': 3306,
}
}
- django命令生成数据库表
python manage.py makemigrations
python manage.py migrate
5、静态文件管理
- 创建静态文件目录
- app01
- static
- css
- img
- js
- plugins
- 创建模板文件目录
- app01
- templates
6、部门管理
体验,最原始方法来做
Django中提供Form和ModelForm组件。(方便)
6.1、部门列表
# urls.py
path('depart/list/', views.depart_list)
# views.py
def depart_list(request):
return render(request, "depart_list.html")
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title<Title>
<link rel="stylesheet" href="{% static 'plugin/bootstrap-3.4.1/css/bootstrap.min.css' %}"><!-- 引入bootstrap -->
</head>
<body>
<!-- 此处放默认样式导航条,链接:https://v3.bootcss.com/components/#navbar-default -->
<div>
<div class="container">
<div><!-- 按钮 -->
<a class="btn btn-primary" href="#">新加部门</a>
</div>
<div class="panel panel-default"><!-- 表格,链接:https://v3.bootcss.com/components/#panels -->
<!-- Default panel contents -->
<div class="panel-heading">Panel heading</div>
<div class="panel-body">
<p>...</p>
</div>
<!-- Table -->
<table class="table">
...
</table>
</div>
</div>
</div>
<script src="{% static 'js/jquery-3.6.8.min.js' %}"></script>
<scripr src="{% static 'plugin/bootstrap-3.4.1/js/bootstrap.min.js' %}"></scripr>
</body>
</html>