import json from django.contrib import messages from django.contrib.auth.hashers import make_password from django.contrib.auth.models import User from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render from dashboard.models import Userprofile, Group, Organization, Level, Organizationtype, Area_code_2020, Weixin, Weibo, \ Toutiao, Qita, Group_type, Group_admin, Group_user, News, Douyin def user_management(request): user = request.user o = Organization.objects.get(userprofile__user_id=user.id) level = o.level.level province = o.province cities = o.cities district = o.district userpaginator = None if level == 1: userpaginator = User.objects.filter(userprofile__organization__province=province).order_by('-date_joined') elif level == 2: userpaginator = User.objects.filter(userprofile__organization__province=province,userprofile__organization__cities=cities).order_by('-date_joined') elif level == 3: userpaginator = User.objects.filter(userprofile__organization__province=province, userprofile__organization__cities=cities,userprofile__organization__district=district).order_by('-date_joined') paginator = Paginator(userpaginator, 6) page = int(request.GET.get('page', 1)) try: userpaginator = paginator.page(page) except PageNotAnInteger: userpaginator = paginator.page(1) except EmptyPage: userpaginator = paginator.page(paginator.num_pages) userallinfo = [] for u in userpaginator: o = dict() o['id'] = str(u.id) o['image'] = u.userprofile_set.get(user_id=u.id).image o['name'] = u.userprofile_set.get(user_id=u.id).name o['phone'] = u.username o['organization'] = u.userprofile_set.get(user_id=u.id).organization.name o['type'] = u.userprofile_set.get(user_id=u.id).organization.organizationtype.organizationtype organization_id = Userprofile.objects.get(user_id=u.id).organization_id print(organization_id) o['administrativedivision'] = str(str(Organization.objects.get(id=organization_id).province) + '-' + str( Organization.objects.get(id=organization_id).cities) + '-' + str( Organization.objects.get(id=organization_id).district) + '-' + str( Organization.objects.get(id=organization_id).town) + '-' + str( Organization.objects.get(id=organization_id).village)).replace('None', '') userallinfo.append(o) print(userallinfo) return render(request, 'management/user-management.html', {'userallinfo': userallinfo, 'userpaginator': userpaginator}) def user_delete(request, pk): user = User.objects.get(id=pk) user.delete() return HttpResponseRedirect('/management/user/management/') def user_update(request, pk): user = User.objects.get(id=pk) userprofile = Userprofile.objects.get(user_id=user.id) organization = Organization.objects.all() if request.method == 'POST': organization_id = request.POST.get('organization') name = request.POST.get('name') email = request.POST.get('email') username = request.POST.get('username') image = request.FILES.get('image') passwordold = request.POST.get('passwordold') passwordnew = request.POST.get('passwordnew') confirm_password = request.POST.get('confirm_password') if passwordold is not None and passwordnew is not None and confirm_password is not None: if passwordnew == confirm_password: user.email = email user.username = username user.password = make_password(passwordnew) userprofile.organization_id = organization_id userprofile.name = name if image is not None: userprofile.image = image user.save() userprofile.save() messages.success(request, "修改成功") return HttpResponseRedirect("/") else: messages.error(request, '两次输入密码不一致') return HttpResponseRedirect('/management/user/update/%s/' % (pk)) else: user.email = email user.username = username userprofile.organization_id = organization_id userprofile.name = name if image is not None: userprofile.image = image user.save() userprofile.save() messages.success(request, "修改成功") return HttpResponseRedirect("/") return render(request, 'management/user-management-update.html', {'usee': user, 'userprofile': userprofile, 'organization': organization}) def group_management_init(request): user = request.user # 创建的矩阵 group_initer = Group.objects.filter(user_id=user.id) print(group_initer) paginator = Paginator(group_initer, 6) page = int(request.GET.get('page', 1)) try: group = paginator.page(page) except PageNotAnInteger: group = paginator.page(1) except EmptyPage: group = paginator.page(paginator.num_pages) res_g_i = [] for r_g_i in group: o1 = dict() o1['id'] = str(r_g_i.id) o1['image'] = r_g_i.image.url o1['name'] = r_g_i.name o1['type'] = r_g_i.type o1['admin_count'] = Group_admin.objects.filter(group_id=r_g_i.id).count() o1['user_count'] = Group_user.objects.filter(group_id=r_g_i.id).count() o1['status'] = r_g_i.status res_g_i.append(o1) return render(request, 'management/group-management-init.html', {'group': group, 'res_g_i': res_g_i}) def group_management_admin(request): # 管理的矩阵 user = request.user group_admin_list = [] for g_a in Group_admin.objects.filter(user_id=user.id): group_admin = Group.objects.get(id=g_a.group_id) group_admin_list.append(group_admin) paginator = Paginator(group_admin_list, 6) page = int(request.GET.get('page', 1)) try: group = paginator.page(page) except PageNotAnInteger: group = paginator.page(1) except EmptyPage: group = paginator.page(paginator.num_pages) res_g_a = [] for r_g_a in group: o2 = dict() o2['id'] = str(r_g_a.id) o2['image'] = r_g_a.image.url o2['name'] = r_g_a.name o2['type'] = r_g_a.type o2['admin_count'] = Group_admin.objects.filter(group_id=r_g_a.id).count() o2['user_count'] = Group_user.objects.filter(group_id=r_g_a.id).count() o2['status'] = r_g_a.status res_g_a.append(o2) return render(request, 'management/group-management-admin.html', {'group': group, 'res_g_a': res_g_a}) def group_management_user(request): # 加入的矩阵 user = request.user group_user_list = [] for g_u in Group_user.objects.filter(user_id=user.id): group_user = Group.objects.get(id=g_u.group_id) group_user_list.append(group_user) paginator = Paginator(group_user_list, 6) page = int(request.GET.get('page', 1)) try: group = paginator.page(page) except PageNotAnInteger: group = paginator.page(1) except EmptyPage: group = paginator.page(paginator.num_pages) res_g_u = [] for r_g_u in group: o3 = dict() o3['id'] = str(r_g_u.id) o3['image'] = r_g_u.image.url o3['name'] = r_g_u.name o3['type'] = r_g_u.type o3['admin_count'] = Group_admin.objects.filter(group_id=r_g_u.id).count() o3['user_count'] = Group_user.objects.filter(group_id=r_g_u.id).count() o3['status'] = r_g_u.status res_g_u.append(o3) return render(request, 'management/group-management-user.html', {'group': group, 'res_g_u': res_g_u}) def group_update(request, pk): group = Group.objects.get(id=pk) GROUP_STATUS_CHOICES = Group.GROUP_STATUS_CHOICES group_status_choices_list = [] for g in GROUP_STATUS_CHOICES: group_status_choices_list.append(list(g)[1]) group_type = Group_type.objects.all() group_admin = Group_admin.objects.filter(group_id=pk) print(pk) g_a_list = [] for g_a in group_admin: o = dict() o['id'] = str(g_a.id) o['image'] = Userprofile.objects.get(user_id=g_a.user.id).image.url o['username'] = g_a.user.username o['name'] = Userprofile.objects.get(user_id=g_a.user.id).name o['organization'] = Userprofile.objects.get(user_id=g_a.user.id).organization.name o['administrativedivision'] = str(g_a.group.province) + '-' + str(g_a.group.cities) + '-' + str( g_a.group.district) + '-' + str(g_a.group.town) + '-' + str(g_a.group.village) g_a_list.append(o) group_user = Group_user.objects.filter(group_id=pk) g_u_list = [] for g_u in group_user: i = dict() i['id'] = str(g_u.id) i['image'] = Userprofile.objects.get(user_id=g_u.user.id).image.url i['username'] = g_u.user.username i['name'] = Userprofile.objects.get(user_id=g_u.user.id).name i['organization'] = Userprofile.objects.get(user_id=g_u.user.id).organization.name i['administrativedivision'] = str(g_u.group.province) + '-' + str(g_u.group.cities) + '-' + str( g_u.group.district) + '-' + str(g_u.group.town) + '-' + str(g_u.group.village) g_u_list.append(i) if request.method == 'POST': name = request.POST.get('name') presentation = request.POST.get('presentation') image = request.FILES.get('image') type = request.POST.get('type') status = request.POST.get('status') province = request.POST.get('province') print(str(province) + "66666666666666666666666666") if province != '' and province.isdigit(): province_r = Area_code_2020.objects.get(code=province).name else: province_r = province city = request.POST.get('city') if city != '' and city.isdigit(): city_r = Area_code_2020.objects.get(code=city).name else: city_r = city district = request.POST.get('district') if district != '' and district.isdigit(): district_r = Area_code_2020.objects.get(code=district).name else: district_r = district town = request.POST.get('town') if town != '' and town.isdigit(): town_r = Area_code_2020.objects.get(code=town).name else: town_r = town village = request.POST.get('village') if village != '' and village.isdigit(): village_r = Area_code_2020.objects.get(code=village).name else: village_r = village if image is not None: Group.objects.filter(id=pk).update(name=name, presentation=presentation, type_id=type, status=status, province=province_r, cities=city_r, district=district_r, town=town_r, village=village_r) g = Group.objects.get(id=pk) g.image = image g.save() messages.success(request, '修改成功') return HttpResponseRedirect('/management/group/management/init/') else: Group.objects.filter(id=pk).update(name=name, presentation=presentation, type_id=type, status=status, province=province_r, cities=city_r, district=district_r, town=town_r, village=village_r) messages.success(request, '修改成功') return HttpResponseRedirect('/management/group/management/init/') return render(request, 'management/group-management-update.html', {'group': group, 'group_status_choices_list': group_status_choices_list, 'group_type': group_type, 'g_a_list': g_a_list, 'g_u_list': g_u_list}) def group_create(request): user = request.user GROUP_STATUS_CHOICES = Group.GROUP_STATUS_CHOICES group_status_choices_list = [] for g in GROUP_STATUS_CHOICES: group_status_choices_list.append(list(g)[1]) group_type = Group_type.objects.all() if request.method == 'POST': name = request.POST.get('name') presentation = request.POST.get('presentation') image = request.FILES.get('image') type = request.POST.get('type') status = request.POST.get('status') province = request.POST.get('province') if province != '': province_r = Area_code_2020.objects.get(code=province).name else: messages.error(request, '请选择行政区划') return HttpResponseRedirect('/management/organization/create/') city = request.POST.get('city') if city != '': city_r = Area_code_2020.objects.get(code=city).name else: city_r = city district = request.POST.get('district') if district != '': district_r = Area_code_2020.objects.get(code=district).name else: district_r = district town = request.POST.get('town') if town != '': town_r = Area_code_2020.objects.get(code=town).name else: town_r = town village = request.POST.get('village') if village != '': village_r = Area_code_2020.objects.get(code=village).name else: village_r = village print(name, presentation, image, type, status, province, city, district, town, village) if name is not None: group = Group(name=name, presentation=presentation, image=image, type_id=type, status=status, province=province_r, cities=city_r, district=district_r, town=town_r, village=village_r,user_id=user.id) group.save() messages.success(request, '添加成功') return render(request,'management/add-group-admin-and-user.html',{'group':group}) else: messages.error(request, '矩阵名不能为空') # return HttpResponseRedirect('/management/group/management/') return render(request, 'management/group-management-create.html', {'group_status_choices_list': group_status_choices_list, 'group_type': group_type}) def group_admin_create(request, pk): if request.method == 'POST': user = request.POST.get("user") print(user) results = Group_admin.objects.filter(user_id=user, group_id=pk).count() if results != 0: messages.success(request, "该管理员已经存在") return HttpResponseRedirect('/management/group/update/%s/' % (pk)) group_admin = Group_admin(user_id=user, group_id=pk) group_admin.save() messages.success(request, "添加成功") return HttpResponseRedirect('/management/group/update/%s/' % (pk)) group = Group.objects.get(id=pk).name user = User.objects.all() return render(request, 'management/group-admin-create.html', {'usee': user, 'group': group, 'pk': pk}) def group_admin_delete(request, pk, group_pk): group_admin = Group_admin.objects.get(id=pk) group_admin.delete() messages.success(request, '删除成功') return HttpResponseRedirect('/management/group/update/%s/' % (group_pk)) def group_user_create(request, pk): if request.method == 'POST': user = request.POST.get('user') results = Group_user.objects.filter(user_id=user, group_id=pk).count() if results != 0: messages.success(request, "该成员已经存在") return HttpResponseRedirect('/management/group/update/%s/' % (pk)) group_user = Group_user(user_id=user, group_id=pk) group_user.save() messages.success(request, '添加成功') return HttpResponseRedirect('/management/group/update/%s' % (pk)) group = Group.objects.get(id=pk).name user = User.objects.all() return render(request, 'management/group-user-create.html', {'usee': user, 'group': group, 'pk': pk}) def group_user_delete(request, pk, group_pk): group_user = Group_user.objects.get(id=pk) group_user.delete() messages.success(request, '删除成功') return HttpResponseRedirect('/management/group/update/%s/' % (group_pk)) def group_delete(request, pk): group = Group.objects.get(id=pk) group.delete() messages.success(request, '删除成功') return HttpResponseRedirect('/management/group/management/') def organization_management(request): user = request.user o = Organization.objects.get(userprofile__user_id=user.id) print(o) level = o.level.level province = o.province cities = o.cities district = o.district print(level, province, cities, district) organization = None if level == 1: organization = Organization.objects.filter(province=province).order_by('-created') elif level == 2: organization = Organization.objects.filter(province=province, cities=cities).order_by('-created') elif level == 3: organization = Organization.objects.filter(province=province, cities=cities, district=district).order_by( '-created') if organization is not None: paginator = Paginator(organization, 6) page = int(request.GET.get('page', 1)) try: organization = paginator.page(page) except PageNotAnInteger: organization = paginator.page(1) except EmptyPage: organization = paginator.page(paginator.num_pages) res = [] for i in organization: o = dict() o['id'] = str(i.id) o['name'] = i.name o['image'] = i.image.url o['organizationtype'] = i.organizationtype.organizationtype if len(i.province) > 0 and len(i.cities) > 0 and len(i.district) > 0 and len(i.town) > 0 and len(i.village) > 0: o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) + '-' + str( Area_code_2020.objects.get(code=i.cities).name) + '-' + str( Area_code_2020.objects.get(code=i.district).name) + '-' + str( Area_code_2020.objects.get(code=i.town).name) + '-' + str( Area_code_2020.objects.get(code=i.village).name) elif len(i.province) > 0 and len(i.cities) > 0 and len(i.district) > 0 and len(i.town) > 0: o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) + '-' + str( Area_code_2020.objects.get(code=i.cities).name) + '-' + str( Area_code_2020.objects.get(code=i.district).name) + '-' + str( Area_code_2020.objects.get(code=i.town).name) elif len(i.province) > 0 and len(i.cities) > 0 and len(i.district) > 0: o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) + '-' + str( Area_code_2020.objects.get(code=i.cities).name) + '-' + str( Area_code_2020.objects.get(code=i.district).name) elif len(i.province) > 0 and len(i.cities) > 0 : o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) + '-' + str( Area_code_2020.objects.get(code=i.cities).name) elif len(i.province) > 0: o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) o['usercount'] = Userprofile.objects.filter(organization_id=i.id).count() o['mediacount'] = Weixin.objects.filter(organization_id=i.id).count() + Weibo.objects.filter( organization_id=i.id).count() + Toutiao.objects.filter(organization_id=i.id).count() + Qita.objects.filter( organization_id=i.id).count() res.append(o) return render(request, 'management/organization-management.html', {"organization": organization, 'res': res}) def organization_delete(request, pk): organization = Organization.objects.get(id=pk) organization.delete() messages.success(request, '删除成功') return HttpResponseRedirect('/management/organization/management/') def organization_update(request, pk): organization = Organization.objects.get(id=pk) organizationtype = Organizationtype.objects.all() level = Level.objects.all() if request.method == 'POST': name = request.POST.get('name') image = request.FILES.get('image') organizationtype = request.POST.get('organizationtype') province = request.POST.get('province') level_id = request.POST.get('level') if province != '' and province.isdigit(): province_r = province else: province_r = Area_code_2020.objects.get(name=province).code city = request.POST.get('city') if city != '' and city.isdigit(): city_r = city else: city_r = Area_code_2020.objects.get(name=city).code district = request.POST.get('district') if district != '' and district.isdigit(): district_r = district else: district_r = Area_code_2020.objects.get(name=district).code town = request.POST.get('town') if town != '' and town.isdigit(): town_r = town else: town_r = Area_code_2020.objects.get(name=town).code village = request.POST.get('village') if village != '' and village.isdigit(): village_r = village else: village_r = Area_code_2020.objects.get(name=village).code if name is not None: if image is not None: Organization.objects.filter(id=pk).update(name=name, organizationtype_id=organizationtype, province=province_r, cities=city_r, district=district_r, town=town_r, village=village_r,level_id=level_id) o = Organization.objects.get(id=pk) o.image = image o.save() messages.success(request, '修改成功') return HttpResponseRedirect('/management/organization/management/') else: Organization.objects.filter(id=pk).update(name=name, organizationtype_id=organizationtype, province=province_r, cities=city_r, district=district_r, town=town_r, village=village_r,level_id=level_id) messages.success(request, '修改成功') return HttpResponseRedirect('/management/organization/management/') return render(request, 'management/organization-management-update.html', {'organization': organization, 'organizationtype': organizationtype,'level':level}) def organization_create(request): organizationtype = Organizationtype.objects.all() level = Level.objects.all() if request.method == 'POST': name = request.POST.get('name') image = request.FILES.get('image') organizationtype = request.POST.get('organizationtype') level_id = request.POST.get('level_id') province = request.POST.get('province') if province != '': province = province else: messages.error(request, '请选择行政区划') return HttpResponseRedirect('/management/organization/create/') city = request.POST.get('city') district = request.POST.get('district') town = request.POST.get('town') village = request.POST.get('village') if name is not None: organization = Organization(name=name, image=image, organizationtype_id=organizationtype, province=province, cities=city, district=district, town=town, village=village,level_id=level_id) organization.save() messages.success(request, '添加成功') else: messages.error(request, '单位名不能为空') return HttpResponseRedirect('/management/organization/management/') return render(request, 'management/organization-management-create.html', {'organizationtype': organizationtype,'level':level}) def newmedia_management_create_menu(request): return render(request, 'management/newmedia-management-create-menu.html') def newmedia_management_create_weixin(request): WEIXIN_STATUS_CHOICES = Weixin.NEWMEDIA_STATUS_CHOICES weixin_status_choices_list = [] for w in WEIXIN_STATUS_CHOICES: weixin_status_choices_list.append(list(w)[1]) organization = Organization.objects.all().order_by('-name') if request.method == 'POST': code = request.POST.get('code') weixinid = request.POST.get('weixinid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if code is not None: if organization is not None: if image is not None: weixin = Weixin(code=code, weixinid=weixinid, alias=alias, image=image, organization_id=organization, status=status) weixin.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/weixin/') else: weixin = Weixin(code=code, weixinid=weixinid, alias=alias, image='weixin.png', organization_id=organization, status=status) weixin.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/weixin/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-create-weixin.html', {'weixin_status_choices_list': weixin_status_choices_list, "organization": organization}) else: messages.success(request, "微信公众号不能为空") return render(request, 'management/newmedia-management-create-weixin.html', {'weixin_status_choices_list': weixin_status_choices_list, "organization": organization}) return render(request, 'management/newmedia-management-create-weixin.html', {'weixin_status_choices_list': weixin_status_choices_list, "organization": organization}) def newmedia_management_create_weibo(request): WEIBO_STATUS_CHOICES = Weibo.NEWMEDIA_STATUS_CHOICES weibo_status_choices_list = [] for w in WEIBO_STATUS_CHOICES: weibo_status_choices_list.append(list(w)[1]) organization = Organization.objects.all().order_by('-name') if request.method == 'POST': code = request.POST.get('code') weiboid = request.POST.get('weiboid') print(str(weiboid) + "11111111111111111111111111111111111111") alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if code is not None: if organization is not None: if image is not None: weibo = Weibo(code=code, weiboid=weiboid, alias=alias, image=image, organization_id=organization, status=status) weibo.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/weibo/') else: weibo = Weibo(code=code, weiboid=weiboid, alias=alias, image='weibo.png', organization_id=organization, status=status) weibo.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/weibo/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-create-weibo.html', {'weibo_status_choices_list': weibo_status_choices_list, "organization": organization}) else: messages.success(request, "微博号不能为空") return render(request, 'management/newmedia-management-create-weibo.html', {'weixin_status_choices_list': weibo_status_choices_list, "organization": organization}) return render(request, 'management/newmedia-management-create-weibo.html', {'weibo_status_choices_list': weibo_status_choices_list, "organization": organization}) def newmedia_management_create_toutiao(request): TOUTIAO_STATUS_CHOICES = Toutiao.NEWMEDIA_STATUS_CHOICES toutiao_status_choices_list = [] for w in TOUTIAO_STATUS_CHOICES: toutiao_status_choices_list.append(list(w)[1]) organization = Organization.objects.all().order_by('-name') if request.method == 'POST': code = request.POST.get('code') toutiaoid = request.POST.get('toutiaoid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if code is not None: if organization is not None: if image is not None: toutiao = Toutiao(code=code, toutiaoid=toutiaoid, alias=alias, image=image, organization_id=organization, status=status) toutiao.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/toutiao/') else: toutiao = Toutiao(code=code, toutiaoid=toutiaoid, alias=alias, image='toutiao.png', organization_id=organization, status=status) toutiao.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/toutiao/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-create-toutiao.html', {'toutiao_status_choices_list': toutiao_status_choices_list, "organization": organization}) else: messages.success(request, "头条号不能为空") return render(request, 'management/newmedia-management-create-toutiao.html', {'toutiao_status_choices_list': toutiao_status_choices_list, "organization": organization}) return render(request, 'management/newmedia-management-create-toutiao.html', {'toutiao_status_choices_list': toutiao_status_choices_list, "organization": organization}) def newmedia_management_create_douyin(request): DOUYIN_STATUS_CHOICES = Douyin.NEWMEDIA_STATUS_CHOICES douyin_status_choices_list = [] for w in DOUYIN_STATUS_CHOICES: douyin_status_choices_list.append(list(w)[1]) print(douyin_status_choices_list) organization = Organization.objects.all().order_by('-name') if request.method == 'POST': code = request.POST.get('code') douyinid = request.POST.get('douyinid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if code is not None: if organization is not None: if image is not None: douyin = Douyin(code=code, douyinid=douyinid, alias=alias, image=image, organization_id=organization, status=status) douyin.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/douyin/') else: douyin = Douyin(code=code, douyinid=douyinid, alias=alias, image='douyin.png', organization_id=organization, status=status) douyin.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/douyin/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-create-douyin.html', {'douyin_status_choices_list': douyin_status_choices_list, "organization": organization}) else: messages.success(request, "抖音号不能为空") return render(request, 'management/newmedia-management-create-douyin.html', {'douyin_status_choices_list': douyin_status_choices_list, "organization": organization}) return render(request, 'management/newmedia-management-create-douyin.html', {'douyin_status_choices_list': douyin_status_choices_list, "organization": organization}) def newmedia_management_create_qita(request): QITA_STATUS_CHOICES = Qita.NEWMEDIA_STATUS_CHOICES qita_status_choices_list = [] for w in QITA_STATUS_CHOICES: qita_status_choices_list.append(list(w)[1]) organization = Organization.objects.all().order_by('-name') if request.method == 'POST': type = request.POST.get('type') name = request.POST.get('name') qitaid = request.POST.get('qitaid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if name is not None: if organization is not None: if image is not None: qita = Qita(type=type, name=name, qitaid=qitaid, alias=alias, image=image, organization_id=organization, status=status) qita.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/qita/') else: qita = Qita(type=type, name=name, qitaid=qitaid, alias=alias, image='qita.png', organization_id=organization, status=status) qita.save() messages.success(request, '创建成功') return HttpResponseRedirect('/management/newmedia/management/create/qita/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-create-qita.html', {'qita_status_choices_list': qita_status_choices_list, "organization": organization}) else: messages.success(request, "新媒体名称不能为空") return render(request, 'management/newmedia-management-create-qita.html', {'qita_status_choices_list': qita_status_choices_list, "organization": organization}) return render(request, 'management/newmedia-management-create-qita.html', {'qita_status_choices_list': qita_status_choices_list, "organization": organization}) def newmedia_management_edit_menu(request): return render(request, 'management/newmedia-management-edit-menu.html') def newmedia_management_edit_weixin(request): user = request.user o = Organization.objects.get(userprofile__user_id=user.id) level = o.level.level province = o.province cities = o.cities district = o.district weixin = None if level == 1: weixin = Weixin.objects.filter(organization__province=province).order_by('-created') elif level == 2: weixin = Weixin.objects.filter(organization__province=province,organization__cities=cities).order_by('-created') elif level == 3: weixin = Weixin.objects.filter(organization__province=province, organization__cities=cities,organization__district=district).order_by( '-created') paginator = Paginator(weixin, 6) page = int(request.GET.get('page', 1)) try: weixin = paginator.page(page) except PageNotAnInteger: weixin = paginator.page(1) except EmptyPage: weixin = paginator.page(paginator.num_pages) res = [] for w in weixin: o = dict() o['id'] = str(w.id) o['image'] = w.image o['code'] = w.code o['weixinid'] = w.weixinid o['organization'] = w.organization.name o['organization_type'] = w.organization.organizationtype.organizationtype o['administrativedivision'] = str(w.organization.province) + '-' + str(w.organization.cities) + '-' + str( w.organization.district) + '-' + str(w.organization.town) + '-' + str(w.organization.village) o['status'] = w.status res.append(o) return render(request, 'management/newmedia-management-edit-weixin.html', {'weixin': weixin, 'res': res}) def newmedia_management_edit_weibo(request): user = request.user o = Organization.objects.get(userprofile__user_id=user.id) level = o.level.level province = o.province cities = o.cities district = o.district weibo = None if level == 1: weibo = Weibo.objects.filter(organization__province=province).order_by('-created') elif level == 2: weibo = Weibo.objects.filter(organization__province=province,organization__cities=cities).order_by('-created') elif level == 3: weibo = Weibo.objects.filter(organization__province=province, organization__cities=cities,organization__district=district).order_by('-created') paginator = Paginator(weibo, 6) page = int(request.GET.get('page', 1)) try: weibo = paginator.page(page) except PageNotAnInteger: weibo = paginator.page(1) except EmptyPage: weibo = paginator.page(paginator.num_pages) res = [] for w in weibo: o = dict() o['id'] = str(w.id) o['image'] = w.image o['code'] = w.code o['weiboid'] = w.weiboid o['organization'] = w.organization.name o['organization_type'] = w.organization.organizationtype.organizationtype o['administrativedivision'] = str(w.organization.province) + '-' + str(w.organization.cities) + '-' + str( w.organization.district) + '-' + str(w.organization.town) + '-' + str(w.organization.village) o['status'] = w.status res.append(o) return render(request, 'management/newmedia-management-edit-weibo.html', {'weibo': weibo, 'res': res}) def newmedia_management_edit_toutiao(request): user = request.user o = Organization.objects.get(userprofile__user_id=user.id) level = o.level.level province = o.province cities = o.cities district = o.district toutiao = None if level == 1: toutiao = Toutiao.objects.filter(organization__province=province).order_by('-created') elif level == 2: toutiao = Toutiao.objects.filter(organization__province=province,organization__cities=cities).order_by('-created') elif level == 3: toutiao = Toutiao.objects.filter(organization__province=province, organization__cities=cities,organization__district=district).order_by( '-created') paginator = Paginator(toutiao, 6) page = int(request.GET.get('page', 1)) try: toutiao = paginator.page(page) except PageNotAnInteger: toutiao = paginator.page(1) except EmptyPage: toutiao = paginator.page(paginator.num_pages) res = [] for w in toutiao: o = dict() o['id'] = str(w.id) o['image'] = w.image o['code'] = w.code o['toutiaoid'] = w.toutiaoid o['organization'] = w.organization.name o['organization_type'] = w.organization.organizationtype.organizationtype o['administrativedivision'] = str(w.organization.province) + '-' + str(w.organization.cities) + '-' + str( w.organization.district) + '-' + str(w.organization.town) + '-' + str(w.organization.village) o['status'] = w.status res.append(o) return render(request, 'management/newmedia-management-edit-toutiao.html', {'toutiao': toutiao, 'res': res}) def newmedia_management_edit_douyin(request): user = request.user o = Organization.objects.get(userprofile__user_id=user.id) level = o.level.level province = o.province cities = o.cities district = o.district douyin = None if level == 1: douyin = Douyin.objects.filter(organization__province=province).order_by('-created') elif level == 2: douyin = Douyin.objects.filter(organization__province=province,organization__cities=cities).order_by('-created') elif level == 3: douyin = Douyin.objects.filter(organization__province=province, organization__cities=cities,organization__district=district).order_by( '-created') paginator = Paginator(douyin, 6) page = int(request.GET.get('page', 1)) try: douyin = paginator.page(page) except PageNotAnInteger: douyin = paginator.page(1) except EmptyPage: douyin = paginator.page(paginator.num_pages) res = [] for w in douyin: o = dict() o['id'] = str(w.id) o['image'] = w.image o['code'] = w.code o['douyinid'] = w.douyinid o['organization'] = w.organization.name o['organization_type'] = w.organization.organizationtype.organizationtype o['administrativedivision'] = str(w.organization.province) + '-' + str(w.organization.cities) + '-' + str( w.organization.district) + '-' + str(w.organization.town) + '-' + str(w.organization.village) o['status'] = w.status res.append(o) return render(request, 'management/newmedia-management-edit-douyin.html', {'douyin': douyin, 'res': res}) def newmedia_management_edit_qita(request): user = request.user o = Organization.objects.get(userprofile__user_id=user.id) level = o.level.level province = o.province cities = o.cities district = o.district qita = None if level == 1: qita = Qita.objects.filter(organization__province=province).order_by('-created') elif level == 2: qita = Qita.objects.filter(organization__province=province,organization__cities=cities).order_by('-created') elif level == 3: qita = Qita.objects.filter(organization__province=province, organization__cities=cities,organization__district=district).order_by('-created') paginator = Paginator(qita, 6) page = int(request.GET.get('page', 1)) try: qita = paginator.page(page) except PageNotAnInteger: qita = paginator.page(1) except EmptyPage: qita = paginator.page(paginator.num_pages) res = [] for w in qita: o = dict() o['id'] = str(w.id) o['image'] = w.image o['type'] = w.type o['name'] = w.name o['qitaid'] = w.qitaid o['organization'] = w.organization.name o['organization_type'] = w.organization.organizationtype.organizationtype o['administrativedivision'] = str(w.organization.province) + '-' + str(w.organization.cities) + '-' + str( w.organization.district) + '-' + str(w.organization.town) + '-' + str(w.organization.village) o['status'] = w.status res.append(o) return render(request, 'management/newmedia-management-edit-qita.html', {'qita': qita, 'res': res}) def newmedia_management_update_weixin(request, pk): WEIXIN_STATUS_CHOICES = Weixin.NEWMEDIA_STATUS_CHOICES weixin_status_choices_list = [] for w in WEIXIN_STATUS_CHOICES: weixin_status_choices_list.append(list(w)[1]) weixin = Weixin.objects.get(id=pk) organization = Organization.objects.all() if request.method == 'POST': code = request.POST.get('code') weixinid = request.POST.get('weixinid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if code is not None: if organization is not None: if image is not None: Weixin.objects.filter(id=pk).update(code=code, weixinid=weixinid, alias=alias, organization_id=organization, status=status) weixin.image = image weixin.save() messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/weixin/') else: Weixin.objects.filter(id=pk).update(code=code, weixinid=weixinid, alias=alias, organization_id=organization, status=status) messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/weixin/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-update-weixin.html', {'weixin': weixin, 'organization': organization, 'weixin_status_choices_list': weixin_status_choices_list}) else: messages.success(request, "微信公众号不能为空") return render(request, 'management/newmedia-management-update-weixin.html', {'weixin': weixin, 'organization': organization, 'weixin_status_choices_list': weixin_status_choices_list}) return render(request, 'management/newmedia-management-update-weixin.html', {'weixin': weixin, 'organization': organization, 'weixin_status_choices_list': weixin_status_choices_list}) def newmedia_management_update_weibo(request, pk): WEIBO_STATUS_CHOICES = Weibo.NEWMEDIA_STATUS_CHOICES weibo_status_choices_list = [] for w in WEIBO_STATUS_CHOICES: weibo_status_choices_list.append(list(w)[1]) weibo = Weibo.objects.get(id=pk) organization = Organization.objects.all() if request.method == 'POST': code = request.POST.get('code') weiboid = request.POST.get('weiboid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if code is not None: if organization is not None: if image is not None: Weibo.objects.filter(id=pk).update(code=code, weiboid=weiboid, alias=alias, organization_id=organization, status=status) weibo.image = image weibo.save() messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/weibo/') else: Weibo.objects.filter(id=pk).update(code=code, weiboid=weiboid, alias=alias, organization_id=organization, status=status) messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/weibo/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-update-weibo.html', {'weibo': weibo, 'organization': organization, 'weibo_status_choices_list': weibo_status_choices_list}) else: messages.success(request, "微博号不能为空") return render(request, 'management/newmedia-management-update-weibo.html', {'weibo': weibo, 'organization': organization, 'weibo_status_choices_list': weibo_status_choices_list}) return render(request, 'management/newmedia-management-update-weibo.html', {'weibo': weibo, 'organization': organization, 'weibo_status_choices_list': weibo_status_choices_list}) def newmedia_management_update_toutiao(request, pk): TOUTIAO_STATUS_CHOICES = Toutiao.NEWMEDIA_STATUS_CHOICES toutiao_status_choices_list = [] for w in TOUTIAO_STATUS_CHOICES: toutiao_status_choices_list.append(list(w)[1]) toutiao = Toutiao.objects.get(id=pk) organization = Organization.objects.all() if request.method == 'POST': code = request.POST.get('code') toutiaoid = request.POST.get('toutiaoid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if code is not None: if organization is not None: if image is not None: Toutiao.objects.filter(id=pk).update(code=code, toutiaoid=toutiaoid, alias=alias, organization_id=organization, status=status) toutiao.image = image toutiao.save() messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/toutiao/') else: Toutiao.objects.filter(id=pk).update(code=code, toutiaoid=toutiaoid, alias=alias, organization_id=organization, status=status) messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/toutiao/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-update-toutiao.html', {'toutiao': toutiao, 'organization': organization, 'toutiao_status_choices_list': toutiao_status_choices_list}) else: messages.success(request, "头条号不能为空") return render(request, 'management/newmedia-management-update-toutiao.html', {'toutiao': toutiao, 'organization': organization, 'toutiao_status_choices_list': toutiao_status_choices_list}) return render(request, 'management/newmedia-management-update-toutiao.html', {'toutiao': toutiao, 'organization': organization, 'toutiao_status_choices_list': toutiao_status_choices_list}) def newmedia_management_update_douyin(request, pk): DOUYIN_STATUS_CHOICES = Douyin.NEWMEDIA_STATUS_CHOICES douyin_status_choices_list = [] for w in DOUYIN_STATUS_CHOICES: douyin_status_choices_list.append(list(w)[1]) douyin = Douyin.objects.get(id=pk) organization = Organization.objects.all() if request.method == 'POST': code = request.POST.get('code') douyinid = request.POST.get('douyinid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if code is not None: if organization is not None: if image is not None: Douyin.objects.filter(id=pk).update(code=code, douyinid=douyinid, alias=alias, organization_id=organization, status=status) douyin.image = image douyin.save() messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/douyin/') else: Douyin.objects.filter(id=pk).update(code=code, douyinid=douyinid, alias=alias, organization_id=organization, status=status) messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/douyin/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-update-douyin.html', {'douyin': douyin, 'organization': organization, 'douyin_status_choices_list': douyin_status_choices_list}) else: messages.success(request, "抖音号不能为空") return render(request, 'management/newmedia-management-update-douyin.html', {'douyin': douyin, 'organization': organization, 'douyin_status_choices_list': douyin_status_choices_list}) return render(request, 'management/newmedia-management-update-douyin.html', {'douyin': douyin, 'organization': organization, 'douyin_status_choices_list': douyin_status_choices_list}) def newmedia_management_update_qita(request, pk): QITA_STATUS_CHOICES = Qita.NEWMEDIA_STATUS_CHOICES qita_status_choices_list = [] for w in QITA_STATUS_CHOICES: qita_status_choices_list.append(list(w)[1]) organization = Organization.objects.all() qita = Qita.objects.get(id=pk) if request.method == 'POST': type = request.POST.get('type') name = request.POST.get('name') qitaid = request.POST.get('qitaid') alias = request.POST.get('alias') image = request.FILES.get('image') organization = request.POST.get('organization') status = request.POST.get('status') if name is not None: if organization is not None: if image is not None: Qita.objects.filter(id=pk).update(type=type, name=name, qitaid=qitaid, alias=alias, organization_id=organization, status=status) qita.image = image qita.save() messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/qita/') else: Qita.objects.filter(id=pk).update(type=type, name=name, qitaid=qitaid, alias=alias, organization_id=organization, status=status) messages.success(request, '修改成功') return HttpResponseRedirect('/management/newmedia/management/edit/qita/') else: messages.success(request, "请选择单位") return render(request, 'management/newmedia-management-update-qita.html', {'qita': qita, 'organization': organization, 'qita_status_choices_list': qita_status_choices_list}) else: messages.success(request, "新媒体名称不能为空") return render(request, 'management/newmedia-management-update-qita.html', {'qita': qita, 'organization': organization, 'qita_status_choices_list': qita_status_choices_list}) return render(request, 'management/newmedia-management-update-qita.html', {'qita': qita, 'organization': organization, 'qita_status_choices_list': qita_status_choices_list}) def newmedia_management_delete_weixin(request, pk): weixin = Weixin.objects.get(id=pk) weixin.delete() messages.success(request, "删除成功") return HttpResponseRedirect('/management/newmedia/management/edit/weixin/') def newmedia_management_delete_weibo(request, pk): weibo = Weibo.objects.get(id=pk) weibo.delete() messages.success(request, "删除成功") return HttpResponseRedirect('/management/newmedia/management/edit/weibo/') def newmedia_management_delete_toutiao(request, pk): toutiao = Toutiao.objects.get(id=pk) toutiao.delete() messages.success(request, "删除成功") return HttpResponseRedirect('/management/newmedia/management/edit/toutiao/') def newmedia_management_delete_douyin(request, pk): douyin = Douyin.objects.get(id=pk) douyin.delete() messages.success(request, "删除成功") return HttpResponseRedirect('/management/newmedia/management/edit/douyin/') def newmedia_management_delete_qita(request, pk): qita = Qita.objects.get(id=pk) qita.delete() messages.success(request, "删除成功") return HttpResponseRedirect('/management/newmedia/management/edit/qita/') def new_management(request): news = News.objects.all() news_list = [] for n in news: o = dict() o['id'] = str(n.id) o['title'] = n.title o['date'] = n.date o['author'] = n.author if n.type == '0': o['type'] = '政策依据' elif n.type == '1': o['type'] = '基层动态' elif n.type == '2': o['type'] = '外省动态' elif n.type == '3': o['type'] = '监测通报' elif n.type == '4': o['type'] = '舆情热点' news_list.append(o) return render(request,'management/news-management.html',{'news':news_list}) def news_management_create(request): if request.method == 'POST': type = request.POST.get('type') title = request.POST.get('title') author = request.POST.get('author') date = request.POST.get('date') content = request.POST.get('content') print(str(title), str(content)) news = News(type=type, title=title, author=author, date=date, content=content) news.save() messages.success(request, '添加成功!!!') return HttpResponseRedirect('/add/news/') type = News.NEWMEDIA_NEWS_CHOICES results = [] for i in type: o = dict() o['choices'] = list(i)[1] results.append(o) return render(request, 'management/news-management-create.html', {'type': results}) def news_management_detail(request,pk): news = News.objects.get(id=pk) return render(request,'management/news-management-detail.html',{'news':news}) def news_management_delete(request,pk): news = News.objects.get(id=pk) news.delete() messages.success(request,'删除成功') return HttpResponseRedirect('/management/news/management/')