基于python、django的简单员工管理系统

1.新建项目

2.创建app

startapp app01

3.设计表结构

4.在MySQL中生成表

4.1新建数据库

4.2修改配置文件

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test5',
        'USER':'root',
        'PASSWORD':'root',
        'HOST':'127.0.0.1',
        'POST':3306,
    }
}
​

4.3Django命令生成数据库表

makemigration
migrate

5.静态文件的管理

6.部门管理

7.模板的继承

  • 部门列表

  • 添加部门

  • 编辑部门

定义母版:(可以多定义几个block,取不同名字即可)

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>标题</h1>
<div>
    {% block content%}{% endblock %}
</div>
<h1>底部</h1>
</body>
</html>

继承母版:

{% extends 'layout.html' %}
{% block content %}
    <h1>首页</h1>
{% endblock %}

8.用户管理

8.1 初识Form

1.view

2.user_add.html

8.2 ModelForm(推荐)

1.models

# Create your models here.
class Department(models.Model):
    """"部门表"""
    title=models.CharField(verbose_name='标题',max_length=32)
​
    def __str__(self):
        return  self.title
 

2.views

#########################  Model Form  ################################
from django import forms
​
class UserModelForm(forms.ModelForm):
    name=forms.CharField(min_length=2,label="用户名")
    class Meta:
        model = models.UserInfo
        fields = ["name", "password", "age", "account","create_time", "gender", "depart"]
​
    # widgets={
    #    'name':forms.TextInput(attrs={"class":"form-control"})
    # }
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
​
        # 循环找到所有的插件,添加class=“form——control”
        for name, field in self.fields.items():
           # if name=="password":
            #    continue
            field.widget.attrs = {"class": "form-control"}
​
​
def user_model_form_add(request):
    """添加用户(Model Form版本)"""
    if request.method=="GET":
        form = UserModelForm()
        return render(request, 'user_model_form_add.html', {'form': form})
    #用户POST提交数据,数据校验
    form=UserModelForm(data=request.POST)
    if form.is_valid():
        # 如果数据合法,保存到数据库中
       # print(form.cleaned_data)
        form.save()
        return redirect('/user/list/')
    #校验失败(在页面上显示错误信息)
    return render(request, 'user_model_form_add.html', {'form': form})

3.user_add.html

<form method="post" novalidate>
     {% csrf_token %}
      {% for field in form %}
       <div class="form-group">
       <label>{{ field.label }}</label>
         {{ field }}
        <span style="color: red;">{{ field.errors.0}}</span>
        </div>
 {% endfor %}

8.3编辑用户

  • 点击编辑,跳转到编辑页面(将编辑行的ID携带过去)

  • 编辑页面(默认数据,根据ID获取并设置到页面中)

  • 提交:

    • 错误提示

    • 数据校验

    • 在数据库中更新

def user_edit(request,nid):
    """"编辑用户"""
    if request.method=="GET":
        # 根据ID去数据库获取要编辑的那一行数据(对象)
        row_object = models.UserInfo.objects.filter(id=nid).first()
        form = UserModelForm(instance=row_object)
        return render(request, 'user_edit.html', {'form': form})
​
    row_object=models.UserInfo.objects.filter(id=nid).first()
    form = UserModelForm(data=request.POST,instance=row_object)
    if form.is_valid():
        form.save()
        return redirect('/user/list/')
    return render(requests, 'user_edit.html', {'form': form})

8.4删除用户

def user_delete(request,nid):
    models.UserInfo.objects.filter(id=nid).delete()
    return redirect('/user/list/')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大晴的上分之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值