django_project_demo/app/views/prettyNumber.py
2024-08-24 03:25:23 +00:00

97 lines
3.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
靓号管理视图函数
功能:实现靓号的增删改查
"""
from django.shortcuts import render, HttpResponse, redirect
from app.models import PrettyNumber # 数据表类
from app.utils.form import PrettyNumberForm, PrettyNumberEditForm # 表单ModelForm类
from app.utils.pagination import Pagination # 导入分页导航条
def pn_list(request):
"""
靓号列表
"""
# 第一次显示的时候查询条件也就是data_dict为空所以查询所有数据
data_dict = {}
search_data = request.GET.get('searchMobile', '')
if search_data:
data_dict['mobile__contains'] = search_data
# ########## 分页准备数据阶段 ##########
# 字典格式: queryset = {mobile__contains: '9999'}
# **data_dict传入字典必须以**打头
# order_by('-level') 倒序排列
queryset = PrettyNumber.objects.filter(**data_dict).order_by('-level')
page_object = Pagination(request, queryset) # 实例化分页导航条类
page_queryset = page_object.page_queryset # 获得分完页的数据结果
# ########## 分页数据准备结束 ##########
# 生成分页导航条
page_nav = page_object.html()
# 把所有参数生成字典传递给前端
context = {
'search_data': search_data,
'queryset': page_queryset, # 分完页的数据结果
'page_nav': page_nav # 生成的页码导航条
}
return render(request, 'PrettyNumber_list.html', context)
def pn_add(request):
"""
增加靓号
"""
if request.method == 'GET':
form = PrettyNumberForm() # 实例化表单模型类
return render(request, 'PrettyNumber_add_modelform.html', {'form': form})
# POST请求
form = PrettyNumberForm(data=request.POST) # 拿到所有提交过来的数据
if form.is_valid(): # 数据校验
# 如果你想对数据表中的字段另外再传递值来保存,就用
# form.instance.字段名 = '值'
# form.instance.password = '0000' # 默认密码是0000
form.save() # 向 model = PrettyNumber 定义的表保存数据
return redirect('/PrettyNumber/list/')
else:
# form中带了POST过来的请求
return render(request, 'PrettyNumber_add_modelform.html', {'form': form})
def pn_edit(request, nid):
"""
靓号编辑
"""
row_data = PrettyNumber.objects.filter(id=nid).first()
if request.method == 'GET':
form = PrettyNumberEditForm(instance=row_data) # 将查询到的对象传递给form
return render(request, 'PrettyNumber_edit_modelform.html', {'form': form})
# POST请求
form = PrettyNumberEditForm(data=request.POST, instance=row_data) # 拿到所有提交过来的数据
if form.is_valid(): # 数据校验
form.save() # 向 model = UserInfo 定义的表保存数据
return redirect('/PrettyNumber/list/')
else:
# form中带了POST过来的请求
return render(request, 'PrettyNumber_edit_modelform.html', {'form': form})
def pn_delete(request, nid):
"""
靓号删除
"""
PrettyNumber.objects.filter(id=nid).delete()
return redirect('/PrettyNumber/list/')