需求:
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
三、创建应用
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文件:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>手机设备管理平台</title>
<style>body{text-align:center}</style>
</head>
<body>
<div>
<font size="1">
<h1>手机设备管理平台</h1>
</font>
<form method="post" action="/login/">
{% csrf_token %}
<a> 用户名:</a> <input name="username" type="username" placeholder="test">
<a> 密 码:</a> <input name="password" type="password" placeholder="123456">
<a style="color:red">{{ error }}
<button style="width:240px;height:28px;" id="submit" type="submit">登录</button>
</form>
</div>
</body>
</html>
后续添加页面、功能等方式:创建视图--创建映射--创建模板
具体代码实现见GitHub:
https://github.com/JessyX001/equipments_manage.git
管理页面:
image.png
添加设备:
image.png
修改设备:
image.png
删除设备:
image.png
借出记录:
image.png
添加借出记录:
image.png
归还借出:
image.png
网友评论