Django_项目:实现设备管理系统

需求:
1、手机分类:ios、安卓,特性:指纹识别、系统、屏幕尺寸、是否全面屏
2、选择后查询出当前库中手机记录;
3、查出未借出手机记录后可进行借出操作,填写借出人姓名,并记录当前日期
4、可查询出已借出手机记录:日期、借出人名称
5、已借出记录可进行归还操作,记录归还人名称,日期

一、创建项目
1、进入站点目录Python\Python36\Scripts输入:
django-admin startproject equipments
二、启动项目
1、站点目录输入:
python manage runserver
2、构建Django 后端:
python manage.py makemigrations
python manage.py migrate
3、创建超级用户:
python manage.py createsuperuser
username:admin
password:
4、登录后端:http://127.0.0.1:8000/admin/
5、后端汉化,进入equipments/setting.py

image.png

三、创建应用
1、equipments目录下输入:
python manage.py startapp phoneinfo
2、将应用加入到equipment项目中,在settings.py添加
image.png

四、更改数据库连接
Django默认连接的是SQLite,修改为本地安装的MySQL,修改settings.py文件:
image.png

五、创建数据库
1、phoneinfo/models.py文件中创建数据库,本次设计了两张表:Phoneinfo用来记录手机信息,Borrow_record_info用来记录借还数据。
class Phoneinfo(models.Model):
mobile_name = models.CharField('手机名称',max_length=64)
ios_or_andriod = (
(0,'ios'),
(1,'andriod')
)
phone_type = models.IntegerField(choices=ios_or_andriod,default=1)
resolution_rate = models.CharField('手机分辨率',max_length=20)
system_name = models.CharField('系统型号', max_length=10)
is_comprehensive_screen = models.BooleanField('是否为全面屏')
comprehensive_screen = (
(0,'否'),
(1,'是')
)
is_comprehensive_screen = models.IntegerField(choices=comprehensive_screen,default=0)
finger_print = (
(0,'否'),
(1,'是')
)
is_finger_print = models.IntegerField(choices=finger_print,default=0)
borrow_status = (
(0,'未借出'),
(1,'已借出')
)
status = models.IntegerField(choices=borrow_status,default=0)
pic_url = models.CharField('图片上传路径', max_length=200, blank=True)
create_time = models.DateTimeField('创建时间',auto_now=True)
equip_status = (
(0,'可用'),
(1,'不可用')
)
yn = models.IntegerField(choices=equip_status,default=0)

class Meta:
    verbose_name = '手机信息'
    verbose_name_plural = '手机信息'

def __str__(self):
    return self.mobile_name

class Borrow_record_info(models.Model):
borrow_mobile = models.ForeignKey('phoneinfo.phoneinfo',on_delete=models.CASCADE,)
borrow_person = models.CharField('借出人',max_length=20)
borrow_department = models.CharField('借出人部门',max_length=20,null=True)
borrow_time = models.DateTimeField('借出时间', auto_now=True)
back_time = models.CharField('归还时间',max_length=40,null=True,blank=True)
status = (
(0,'已归还'),
(1,'未归还')
)
borrow_status = models.IntegerField(choices = status,default=1)
borrow_remark = models.CharField('备注',max_length=20,null=True)
class Meta:
verbose_name = '借还记录'
verbose_name_plural = '借还记录'

def __str__(self):
    return self.borrow_person

2、迁移同步数据库和表结构
python manage.py makemigrations
python manage.py migrate
六、创建视图,在views.py文件中添加:
def login(request):
if request.POST:
username = request.POST.get('username')
password = request.POST.get('password')
user = auth.authenticate(username=username,password=password)
if user is not None and user.is_active:
auth.login(request,user)
request.session['user'] = username
response = HttpResponseRedirect('/home/')
return response
else:
return render(request,'login.html',{'error':'用户名 或 密码错误!'})
return render(request,'login.html')
七、创建映射,在urls.py文件中添加:
from phoneinfo import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login/',views.login),
]
八、创建模板,在phoneinfo下创建templates文件夹,并在该文件夹下创建login.html文件:




手机设备管理平台





手机设备管理平台




{% csrf_token %}

  用户名:


  密   码:

{{ error }}

 



后续添加页面、功能等方式:创建视图--创建映射--创建模板
具体代码实现见GitHub:
https://github.com/JessyX001/equipments_manage.git

管理页面:


image.png

添加设备:


image.png

修改设备:
image.png

删除设备:


image.png

借出记录:
image.png

添加借出记录:


image.png

归还借出:


image.png

你可能感兴趣的:(Django_项目:实现设备管理系统)