97 lines
3.1 KiB
Python
97 lines
3.1 KiB
Python
"""
|
||
靓号管理视图函数
|
||
功能:实现靓号的增删改查
|
||
"""
|
||
|
||
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/')
|