Skip to content

Commit

Permalink
美化了一点点前端代码,添加了随机生成id号可以使用时间、也可以使用random
Browse files Browse the repository at this point in the history
  • Loading branch information
txbxxx committed Dec 23, 2023
1 parent 5e0737b commit a9024d1
Show file tree
Hide file tree
Showing 10 changed files with 134 additions and 27 deletions.
40 changes: 35 additions & 5 deletions flowers/flowers_base/form.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,58 @@

from django import forms
from .models import flower_data, flower_class, admin_data
import random


# 定义添加鲜花的Form表单
class FlowersForm(forms.ModelForm):
class Meta:
model = flower_data
# fields = '__all__':fields属性指定了表单应该包含模型中的哪些字段。'__all__'表示包含模型中的所有字段。这样,表单将包含模型中定义的所有字段。
fields = '__all__'

fields = ['flower_name','classi','num','price']
def save(self, commit=True):
instance = super(FlowersForm, self).save(commit=False)
while True:
new_flower_id = random.randint(10000, 99999) # 生成一个随机的四位数作为class_id
if not flower_data.objects.filter(class_id=new_flower_id).exists():
instance.flower_id = new_flower_id
break
if commit:
instance.save()
return instance


class FlowerClassForm(forms.ModelForm):
class Meta:
model = flower_class
fields = '__all__'
fields = ['class_name']

def save(self, commit=True):
instance = super(FlowerClassForm, self).save(commit=False)
while True:
new_class_id = random.randint(10000, 99999) # 生成一个随机的四位数作为class_id
if not flower_class.objects.filter(class_id=new_class_id).exists():
instance.class_id = new_class_id
break
if commit:
instance.save()
return instance


class adminForm(forms.ModelForm):
class Meta:
model = admin_data
fields = '__all__'

fields = ['admin_name','telephone']
def save(self, commit=True):
instance = super(adminForm, self).save(commit=False)
while True:
new_admin_id = random.randint(10000, 99999) # 生成一个随机的四位数作为class_id
if not admin_data.objects.filter(admin_id=new_admin_id).exists():
instance.class_id = new_admin_id
break
if commit:
instance.save()
return instance

class SearchForm(forms.Form):
query=forms.CharField()
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ <h3 class="text-center">管理员列表</h3>
<div class="col-12 d-flex justify-content-end mb-1 add_admin_btn">
<div class="add_admin">
<button class="btn btn-light btn-sm">
<a class="add_admin_a" href="{% url 'flowers_base:add_flowerclass' %}">添加管理员链接</a>
<a class="add_admin_a" href="{% url 'flowers_base:add_flowerclass' %}">添加管理员信息</a>
</button>
</div>
</div>
Expand Down
8 changes: 4 additions & 4 deletions flowers/flowers_base/templates/flowers_base/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@
</li>
</ul>
<div class="row mx-auto">
<form class="d-flex" role="search" action="{% url 'flowers_base:search_flower' %}" method="get">
<div class="mx-auto">
<input class="form-control me-2 form-control-sm" aria-label="Search" type="text" name="select" placeholder="Search Flower">
<form class="d-flex " role="search" action="{% url 'flowers_base:search_flower' %}" method="get">
<div class="mx-auto input-group">
<input class="form-control form-control-sm" aria-label="Search" type="text" name="select" placeholder="Search Flower">
<button class="btn btn-outline-light btn-sm mx-2" type="submit">搜索</button>
</div>
<button class="btn btn-outline-success btn-sm mx-2" type="submit">搜索</button>
</form>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ <h3 class="text-center">鲜花类别表</h3>
<div class="col-12 d-flex justify-content-end mb-1 add_class_btn">
<div class="add_class">
<button class="btn btn-light btn-sm">
<a class="add_class_a" href="{% url 'flowers_base:add_admin' %}">添加鲜花类别</a>
<a class="add_class_a" href="{% url 'flowers_base:add_flowerclass' %}">添加鲜花类别</a>
</button>
</div>
</div>
Expand Down
25 changes: 14 additions & 11 deletions flowers/flowers_base/templates/flowers_base/flowers_data.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,20 @@
<h3 class="text-center">鲜花库存数据表</h3>
</div>
<div class="row mx-auto search_surplus_start">
<div class="col-6 d-flex justify-content-start mb-1 search_surplus_form">
<form class="d-flex" role="search" action="{% url 'flowers_base:search_surplus' %}" method="get">
<input class="form-control me-2 form-control-sm" aria-label="Search" type="text" name="search_surplus" placeholder="输入剩余数量">
<button class="btn btn-outline-success btn-sm mx-2" type="submit" >搜索</button>
</form>
</div>
<div class="col-6 d-flex justify-content-end mb-1 add_flower_btn">
<div class="add_flowers">
<button class="btn btn-light btn-sm">
<a class="add_flowers_a" href="{% url 'flowers_base:add_flower' %}">添加鲜花</a>
</button>
<div class="col-6 d-flex justify-content-start mb-1 search_surplus_form ">

<form class="d-flex" role="search" action="{% url 'flowers_base:search_surplus' %}" method="get">
<div class="input-group">
<input class="form-control form-control-sm" aria-label="Search" type="text" name="search_surplus" placeholder="输入剩余数量">
<button class="btn btn-outline-success btn-sm" type="submit" >搜索</button>
</div>
</form>
</div>
<div class="col-6 d-flex justify-content-end mb-1 add_flower_btn">
<div class="add_flowers">
<button class="btn btn-light btn-sm">
<a class="add_flowers_a" href="{% url 'flowers_base:add_flower' %}">添加鲜花</a>
</button>
</div>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ <h3 class="text-center">
<th scope="col">出库时间</th>
<th scope="col">操作员</th>
<th scope="col">花名</th>
<th scope="col">操作</th>
</tr>
</thead>
{% for data in out %}
Expand All @@ -32,6 +33,11 @@ <h3 class="text-center">
<td>{{ data.outbound_date }}</td>
<td>{{ data.admin_id }}</td>
<td>{{ data.flowers_id }}</td>
<td>
<button type="button" class="btn btn-light btn-sm">
<a class="inbount-btn" href="{% url 'flowers_transcaction:delete_outbound' outbound_id=data.outbound_id%}">删除</a>
</button>
</td>
</tr>
</tbody>
{% empty %}
Expand All @@ -58,6 +64,7 @@ <h3 class="text-center">
<th scope="col">入库时间</th>
<th scope="col">操作员</th>
<th scope="col">花名</th>
<th scope="col">操作</th>
</tr>
</thead>
{% for data in ino %}
Expand All @@ -71,6 +78,11 @@ <h3 class="text-center">
<td>{{ data.inbound_date }}</td>
<td>{{ data.admin_id }}</td>
<td>{{ data.flowers_id }}</td>
<td>
<button type="button" class="btn btn-light btn-sm">
<a class="inbount-btn" href="{% url 'flowers_transcaction:delete_inbound' inbound_id=data.inbound_id%}">删除</a>
</button>
</td>
</tr>
</tbody>
{% empty %}
Expand Down
2 changes: 1 addition & 1 deletion flowers/flowers_base/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def edit_flower(request, flower_id):
if fl == flower_id:
if form.is_valid():
#检测用户是否修改了flower_name
if 'flower_name' not in request.POST:
if 'flower_id' in request.POST:
form.save()
return redirect('flowers_base:flower_data',)
else:
Expand Down
32 changes: 29 additions & 3 deletions flowers/flowers_transcaction/form.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,41 @@

from django import forms
from .models import inbound, outbound

import random
from datetime import datetime

class InBoundForm(forms.ModelForm):
class Meta:
model = inbound
fields = '__all__'
fields = ['inbound_num','admin','flowers']
def save_inbound(self, commit=True):
instance = super(InBoundForm, self).save(commit=False)
##使用时间来完成
current_time = datetime.now()
formatted_time = current_time.strftime("%Y%m%d%H%M%S")
instance.inbound_id = formatted_time
# while True: #判断如果随机生成的数存就继续生成
# # new_inbound_id = random.randint(10000, 99999) # 生成一个随机的四位数作为class_id(遗弃)
# if not inbound.objects.filter(inbound_id=new_inbound_id).exists():
# instance.inbound_id = new_inbound_id
# break
if commit:
instance.save()
return instance


class OutBoundForm(forms.ModelForm):
class Meta:
model = outbound
fields = '__all__'
fields = ['outbound_num','admin','flowers']

def save(self, commit=True):
instance = super(OutBoundForm, self).save(commit=False)
while True:
new_outbound_id = random.randint(10000, 99999) # 生成一个随机的四位数作为class_id
if not outbound.objects.filter(outbound_id=new_outbound_id).exists():
instance.outbound_id = new_outbound_id
break
if commit:
instance.save()
return instance
2 changes: 2 additions & 0 deletions flowers/flowers_transcaction/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@
path('inbound/<int:flower_id>', views.inbound_list, name='inbound'),
path('outbound/<int:flower_id>', views.outbound_list, name='outbound'),
path('bound_list/<int:admin_id>',views.admin_bond_list, name='admin_bond_list'),
path('delete_inbound_data/<int:inbound_id>',views.delete_inbound, name='delete_inbound'),
path('delete_outbound_data/<int:outbound_id>',views.delete_outbound, name='delete_outbound'),
]
36 changes: 35 additions & 1 deletion flowers/flowers_transcaction/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def inbound_list(request, flower_id):
num = form.cleaned_data['inbound_num'] # 获取表单中的数据,并进行后续的处理
flower.num += num #将花本身的个数加上入库的个数
flower.save() #保存花的数据
form.save() #保存表单的数据
form.save_inbound() #保存表单的数据
return HttpResponseRedirect(reverse('flowers_base:flower_data'))
context = {'form': form, "flower": flower}
return render(request, 'flowers_transcaction/inbound.html', context)
Expand All @@ -40,6 +40,8 @@ def outbound_list(request, flower_id):
if form.is_valid():
num = form.cleaned_data['outbound_num'] # 获取表单中的数据,并进行后续的处理
flower.num -= num
if flower.num < 0:
messages.error(request, "库存数量不足")
form.save()
flower.save()
return HttpResponseRedirect(reverse('flowers_base:flower_data'))
Expand All @@ -61,3 +63,35 @@ def admin_bond_list(request, admin_id):
admin_name = out[0].admin.admin_name # 获取管理员的名字
context = {'out': out, 'admin_name': admin_name,'ino':ino}
return render(request, 'flowers_transcaction/admin_oprate_list.html', context)


#删除出库信息后,花的数据返回
def delete_inbound(request, inbound_id):
inbound_data = inbound.objects.get(inbound_id=inbound_id)
#获取flower对象依靠inbound_data的外键】】‘
flower = flower_data.objects.get(flower_id=inbound_data.flowers.flower_id)
#如果入库花的数量是大于小于或等于花现在的数量,那么就表示为正常
if inbound_data.flowers.num >= inbound_data.inbound_num:
flower.num -= inbound_data.inbound_num
inbound_data.delete()
flower.save()
else:
return HttpResponse("花的数量少于此条数据的入库数量!!")
context = {'inbound_data':inbound_data,'admin_name':inbound_data.admin.admin_name}
return render(request, 'flowers_transcaction/admin_oprate_list.html',context)


#删除出库信息后,数据返回
def delete_outbound(request, outbound_id):
# 获取flower对象,依靠传入的flower_id
outbound_data = outbound.objects.get(outbound_id=outbound_id)
flower = flower_data.objects.get(flower_id=outbound_data.flowers.flower_id)
#同上不过是相反的
if outbound_data.flowers.num < outbound_data.outbound_num:
flower.num += outbound_data.outbound_num
outbound_data.delete()
flower.save()
# else:
# return HttpResponse("花的数量于此条数据的入库数量!!")
context = {'inbound_data': outbound_data, 'admin_name': outbound_data.admin.admin_name}
return render(request, 'flowers_transcaction/admin_oprate_list.html',context)

0 comments on commit a9024d1

Please sign in to comment.