#add message

This commit is contained in:
xieshen 2021-04-02 16:45:37 +08:00
parent 4c1065ff26
commit 289589b5fd
6 changed files with 123 additions and 52 deletions

View File

@ -9,6 +9,7 @@ urlpatterns = [
path('backstage/comment/',views.backstage_comment,name='backstage-comment'), path('backstage/comment/',views.backstage_comment,name='backstage-comment'),
path('backstage/user/',views.backstage_user,name='backstage-user'), path('backstage/user/',views.backstage_user,name='backstage-user'),
path('backstage/organization/update/',views.backstage_organization_update,name='backstage-organization_update'), path('backstage/organization/update/',views.backstage_organization_update,name='backstage-organization_update'),
path('backstage/data/download/',views.backstage_data_download,name='backstage-data-download'),
path('backstage/weixin/update/',views.backstage_weixin_update,name='backstage-weixin_update'), path('backstage/weixin/update/',views.backstage_weixin_update,name='backstage-weixin_update'),
path('backstage/douyin/update/',views.backstage_douyin_update,name='backstage-douyin_update'), path('backstage/douyin/update/',views.backstage_douyin_update,name='backstage-douyin_update'),
path('backstage/weibo/update/',views.backstage_weibo_update,name='backstage-weibo_update'), path('backstage/weibo/update/',views.backstage_weibo_update,name='backstage-weibo_update'),

View File

@ -6,7 +6,7 @@ from datetime import datetime
import xlrd import xlrd
from django.contrib import messages from django.contrib import messages
from django.http import HttpResponse, HttpResponseRedirect from django.http import HttpResponse, HttpResponseRedirect, FileResponse
from django.shortcuts import render from django.shortcuts import render
# Create your views here. # Create your views here.
@ -444,3 +444,95 @@ def add_unqualified_media(request):
print(media_id) print(media_id)
messages.success(request,"上传成功") messages.success(request,"上传成功")
return render(request,'backstage/backstage_add_unqualified_media.html') return render(request,'backstage/backstage_add_unqualified_media.html')
def backstage_data_download(request):
user = request.user
weixin = Weixin.objects.all()
weibo = Weibo.objects.all()
toutiao = Toutiao.objects.all()
douyin = Douyin.objects.all()
qita = Qita.objects.all()
results = []
for wx in weixin:
o_weixin = dict()
o_weixin['type'] = "微信"
o_weixin['code'] = wx.code
o_weixin['organization'] = wx.organization.name
o_weixin['alias'] = wx.alias
o_weixin['status'] = wx.status
o_weixin['id'] = wx.weixinid
o_weixin['attention'] = wx.attention
o_weixin['identificationcode'] = wx.identificationcode
o_weixin['function'] = wx.function
o_weixin['articleurl'] = wx.articleurl
results.append(o_weixin)
for wb in weibo:
o_weibo = dict()
o_weibo['type'] = "微博"
o_weibo['code'] = wb.code
o_weibo['organization'] = wb.organization.name
o_weibo['alias'] = wb.alias
o_weibo['status'] = wb.status
o_weibo['id'] = wb.weiboid
o_weibo['attention'] = wb.attention
o_weibo['identificationcode'] = wb.identificationcode
o_weibo['function'] = wb.function
o_weibo['articleurl'] = wb.articleurl
results.append(o_weibo)
for tt in toutiao:
o_toutiao = dict()
o_toutiao['type'] = "今日头条"
o_toutiao['code'] = tt.code
o_toutiao['organization'] = tt.organization.name
o_toutiao['alias'] = tt.alias
o_toutiao['status'] = tt.status
o_toutiao['id'] = tt.toutiaoid
o_toutiao['attention'] = tt.attention
o_toutiao['identificationcode'] = tt.identificationcode
o_toutiao['function'] = tt.function
o_toutiao['articleurl'] = tt.articleurl
results.append(o_toutiao)
for dy in douyin:
o_douyin = dict()
o_douyin['type'] = "抖音"
o_douyin['code'] = dy.code
o_douyin['organization'] = dy.organization.name
o_douyin['alias'] = dy.alias
o_douyin['status'] = dy.status
o_douyin['id'] = dy.douyinid
o_douyin['attention'] = dy.attention
o_douyin['identificationcode'] = dy.identificationcode
o_douyin['function'] = dy.function
o_douyin['articleurl'] = dy.articleurl
results.append(o_douyin)
for qt in qita:
o_qita = dict()
o_qita['type'] = qt.type
o_qita['code'] = qt.code
o_qita['organization'] = qt.organization.name
o_qita['alias'] = qt.alias
o_qita['status'] = qt.status
o_qita['id'] = qt.qitaid
o_qita['attention'] = qt.attention
o_qita['identificationcode'] = qt.identificationcode
o_qita['function'] = qt.function
o_qita['articleurl'] = qt.articleurl
results.append(o_qita)
# print(results)
t = int(time.time())
os.popen('mkdir /var/www/p3/newmediamonitoring/static/upload/%s' % (t))
f = '/var/www/p3/newmediamonitoring/static/upload/%s' % (t)
with open(f+'/'+user.username+'.csv','w', newline='',encoding='utf-8') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(["类型","名称", "单位", "别名", "状态", "ID", "关注量","新媒体标识码","功能","文章URL"])
for r in results:
# print(r['type'])
writer.writerow([r['type'], r['code'], r['organization'],r['alias'], r['status'], r['id'], r['attention'],r['identificationcode'],r['function'], r['articleurl']])
file = open(f+'/'+user.username+'.csv','rb')
response = FileResponse(file)
response['Content-Type'] = 'application/octet-stream'
response['Content-Disposition'] = 'attachment'
return response

View File

@ -191,8 +191,8 @@
href="{% url 'backstage-comment' %}">评论</a> href="{% url 'backstage-comment' %}">评论</a>
</li> </li>
<li> <li>
<a {% if url_name == 'backstage-organization_update' %} class="active" {% endif %} <a {% if url_name == 'backstage-data-download' %} class="active" {% endif %}
href="{% url 'backstage-organization_update' %}">单位更新</a> href="{% url 'backstage-data-download' %}">数据下载</a>
</li> </li>
<li> <li>
<a {% if url_name == 'backstage-weixin_update' %} class="active" {% endif %} <a {% if url_name == 'backstage-weixin_update' %} class="active" {% endif %}

View File

@ -44,7 +44,7 @@
action="{% url 'user-management-update' usee.id %}" action="{% url 'user-management-update' usee.id %}"
enctype="multipart/form-data">{% csrf_token %} enctype="multipart/form-data">{% csrf_token %}
<div class="form-group"> <div class="form-group">
<label class="form-label" for="organization">单位</label> <label class="form-label" for="organization">单位(请选择主体单位。新建或编辑单位名称在“主体单位管理”栏)</label>
{# <div class="controls">#} {# <div class="controls">#}
{# <select class="form-control" name="organization">#} {# <select class="form-control" name="organization">#}
{# <option value="{{ userprofile.organization.id }}">{{ userprofile.organization.name }}</option>#} {# <option value="{{ userprofile.organization.id }}">{{ userprofile.organization.name }}</option>#}
@ -88,6 +88,16 @@
value="{{ usee.username }}"> value="{{ usee.username }}">
</div> </div>
</div> </div>
<div class="form-group">
<label class="form-label" for="username">通知</label>
<div class="controls">
{% if userprofile.message_status %}
<span>短信通知</span>
{% else %}
<span>不做通知</span>
{% endif %}
</div>
</div>
<div class="form-group"> <div class="form-group">
<label class="form-label" for="image">图标 <label class="form-label" for="image">图标
@ -99,22 +109,7 @@
</div> </div>
</label> </label>
</div> </div>
<div class="form-group">
<label for="passwordold">旧密码<br/>
<input type="password" name="passwordold" id="user_pass" class="input"
value="" size="20"/></label>
</div>
<div class="form-group">
<label for="passwordnew">新密码<br/>
<input type="password" name="passwordnew" id="user_pass" class="input"
value="" size="20"/></label>
</div>
<div class="form-group">
<label for="confirm_password">确认密码<br/>
<input type="password" name="confirm_password" id="user_pass1"
class="input" value=""
size="20"/></label>
</div>
<button type="submit" class="btn btn-primary" style="margin-top: 50px">提交修改 <button type="submit" class="btn btn-primary" style="margin-top: 50px">提交修改
</button> </button>
</form> </form>

View File

@ -74,10 +74,11 @@
{# <td style="vertical-align: middle;text-align: center">{{ u.type }}</td>#} {# <td style="vertical-align: middle;text-align: center">{{ u.type }}</td>#}
<td style="vertical-align: middle;text-align: center">{{ u.administrativedivision }}</td> <td style="vertical-align: middle;text-align: center">{{ u.administrativedivision }}</td>
<td style="vertical-align: middle;text-align: center"> <td style="vertical-align: middle;text-align: center">
<a href="{% url 'user-management-update' u.user_id %}"
class="btn btn-success btn-mini">修改</a>
<a href="{% url 'user-management-delete' u.user_id %}" <a href="{% url 'user-management-delete' u.user_id %}"
class="btn btn-danger btn-mini">删除</a> class="btn btn-danger btn-mini">删除</a>
{# <a href="{% url 'user-management-update' u.user_id %}"#}
{# class="btn btn-success btn-mini">修改</a>#}
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}

View File

@ -120,36 +120,18 @@ def user_update(request, pk):
email = request.POST.get('email') email = request.POST.get('email')
username = request.POST.get('username') username = request.POST.get('username')
image = request.FILES.get('image') image = request.FILES.get('image')
passwordold = request.POST.get('passwordold')
passwordnew = request.POST.get('passwordnew')
confirm_password = request.POST.get('confirm_password') user.email = email
if len(passwordold) != 0 and len(passwordnew) != 0 and len(confirm_password) != 0: user.username = username
if passwordnew == confirm_password: userprofile.organization_id = o_id
user.email = email userprofile.name = name
user.username = username if image is not None:
user.password = make_password(passwordnew) userprofile.image = image
userprofile.organization_id = o_id user.save()
userprofile.name = name userprofile.save()
if image is not None: messages.success(request, "修改成功")
userprofile.image = image return HttpResponseRedirect("/management/user/management/")
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 = o_id
userprofile.name = name
if image is not None:
userprofile.image = image
user.save()
userprofile.save()
messages.success(request, "修改成功")
return HttpResponseRedirect("/index")
return render(request, 'management/user-management-update.html', return render(request, 'management/user-management-update.html',
{'usee': user, 'userprofile': userprofile, 'organization': organization}) {'usee': user, 'userprofile': userprofile, 'organization': organization})