python——Django Admin 管理工具,创建APP

版权声明:著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。 https://blog.csdn.net/ChaoFeiLi/article/details/88750701

在上一篇博客中已经实现了,链接数据库和创建APP,这一次我们做一个网页。
主要内容包括:mysql的主键,外键,class Meta的使用,基本操作等。
创建了一个dataImport的工程,注册了一个名为blog的APP。
一、在./blog/models.py中,定义了两个模型,一个是computer,一个是房间号,computer的主键是identifier,外键是Room,(number = models.ForeignKey(Room, on_delete=models.CASCADE)),这是这是外键的代码。

# encoding: utf-8

from django.db import models
from django import forms


# Create your models here.
class Room(models.Model):
    number = models.CharField(max_length=2, primary_key=True)

    def __str__(self):
        return self.number
    class Meta:
        verbose_name_plural = '房间号'
        verbose_name = '房间号'
# class

class Computer(models.Model):
    number = models.ForeignKey(Room, on_delete=models.CASCADE)
    identifier = models.CharField(max_length=5, primary_key=True, default='12345')
    IPaddr = models.GenericIPAddressField(max_length=15, default='172.0.0.1')
    purpose = models.CharField(max_length=10)
    status_choice = ((0, '关机'),
                     (1, '正常'),
                     (2, '故障'),
                     (3, '移除'),
                     )
    status = models.SmallIntegerField(choices=status_choice)
    tpye_choice = ((0, '戴尔'), (1, '惠普'), (2, '华硕'), (3, '联想'), (4, '其他'),)
    tpye = models.SmallIntegerField(choices=tpye_choice)
    harddisk = models.CharField(max_length=5, default='500g')
    optionSyetem_choice = ((0, 'winXP'), (1, 'win7'), (2, 'win10'), (3, 'Linux'),)
    optionSyetem = models.SmallIntegerField(choices=optionSyetem_choice)
    repairTime = models.DateTimeField('修理时间', editable=True)
    completeTime = models.DateTimeField('完成时间', editable=True)

    def __str__(self):
        return self.identifier

    class Meta:
        verbose_name_plural = "电脑登记"
        verbose_name = '电脑登记'

        # db_table = 'computer'
        ordering = ['identifier']

二、显示一些信息
在网页中,我们添加了数据之后,可以选择需要在网页中显示的相应属性的数据。
在./blog/admin.py中,添加代码。
其中包含了,更改网站的名字,题目等信息。

from django.contrib import admin

# Register your models here.
from .models import Computer,Room


admin.site.site_title = "电脑安全管理系统"

admin.site.site_header = "电脑管理系统"

admin.site.index_title = "电脑信息"

@admin.register(Room)
class RoomAdmin(admin.ModelAdmin):
    pass

@admin.register(Computer)

class BlogAdmin(admin.ModelAdmin):
    list_display = ('identifier','IPaddr', 'purpose', 'status', 'harddisk', 'optionSyetem', 'repairTime', 'completeTime',)
    list_editable = ('status',)
    list_per_page = 10
    # 设置可以进入编辑的字段
    list_display_links = ('IPaddr',)
    # 筛选器
    list_filter = ('status',)
    date_hierarchy = 'repairTime'


三、执行代码

python manage.py makemigrations
python manage.py migrate
#注册登录账户
python manage.py createsuperuser
#运行服务端
python manage.py runserver

四、界面展示

登录界面

首页界面

修改room
computer
过滤器

链接:https://pan.baidu.com/s/1Wmqn-AhwpiumEX3g54EX1w
提取码:p2uw

猜你喜欢

转载自blog.csdn.net/ChaoFeiLi/article/details/88750701