自我学习:Django-用户的显示,新增(原始版本)

本文探讨了Django中如何在Model中创建类的细节,包括员工数据的新增和显示。在views.py中实现了员工内容的展示,并详细介绍了用户新增功能,特别是性别和部门的选择方式。同时,文章讨论了Django HTML模板的继承机制,通过layout.html作为父模板,减少重复工作并简化修改,如在depart_list.html中进行继承应用。
摘要由CSDN通过智能技术生成

案例1:model中创建类的细节

在这里插入图片描述

models.py

from django.db import models

# Create your models here.
class department(models.Model):
    """部门表"""
    title = models.CharField(verbose_name="部门名", max_length=64)

class UserInfo(models.Model):
    """员工表"""
    name = models.CharField(verbose_name="姓名", max_length=16)
    pwd = models.CharField(verbose_name="密码", max_length=64)
    age = models.IntegerField(verbose_name="年龄")
    #允许小数点后2位
    account = models.DecimalField(verbose_name="账户余额", max_digits=10, decimal_places=2, default=0)
    create_time = models.DateTimeField(verbose_name="入职时间")
    #无约束
    #depart_id = models.BigIntegerField(verbose_name="部门ID")

    #1.有约束
    #  -to, 与哪张表关联
    #  -to_Field,表中的哪一列数据关联
    #   变量名为depart,Django自动补足为depart_id
    ##当部门表被删除
    ##1.级联删除
    depart = models.ForeignKey(to="Department", to_field="id", on_delete=models.CASCADE)
    ##2.关联列置空,需允许为空
    depart = models.ForeignKey(to="Department", to_field="id", null=True, blank=True, on_delete=models.SET_NULL)

    #性别
    #在Django中做约束
    gender_choices =(
        (1, "男"),
        (2, "女"),
    )

    gender = models.SmallIntegerField(verbose_name="性别", choices=gender_choices)

案例1:一些特殊操作

例如员工数据新增:

mysql> insert into app01_userinfo(name, pwd, age, account, create_time, gender,depart_id) values("刘楠", "123", 23, 100.68, "2010-10-11", 1, 2);

在views.py中试写员工内容的显示
即在python编写

def user_list(request):
	user_list = models.UserInfo.objects.all()
	for obj in user_list:
		"""
		将日期改为字符串
		注意%Y(大写)显示2010
		    %y(小写)显示10
		"""
		print(obj.create_time.stftime("%Y-%m-%d"))
        
        #以下是基于Django才有的操作
		"""
		创表时,gender定位元组,1代表男,2代表女
		 gender_choices =(
        (1, "男"),
        (2, "女"),
    	)
   		 gender = models.SmallIntegerField(verbose_name="性别", choices=gender_choices)
		
		obj.gender显示1或2
		obj.get_gender_display() 显示男或女
		"""
		print(obj.get_gender_display()) 
		"""
		创表时,depart_id继承自department表
		depart = models.ForeignKey(to="Department", to_field="id", on_delete=models.CASCADE)
		命名为depart,但数据库中自动命名为dep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值