优化和修复了一些东西
This commit is contained in:
parent
d827652a92
commit
71883d5d96
2
.gitignore
vendored
2
.gitignore
vendored
@ -56,7 +56,7 @@ coverage.xml
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
# db.sqlite3
|
||||
db.sqlite3
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
|
||||
@ -3,7 +3,7 @@ from django.http.response import JsonResponse,HttpResponse
|
||||
from django.contrib.auth import authenticate,login,logout # 认证相关方法
|
||||
from django.contrib.auth.models import User # Django默认用户模型
|
||||
from django.contrib.auth.decorators import login_required # 登录需求装饰器
|
||||
from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage,InvalidPage
|
||||
from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage,InvalidPage # 后端分页
|
||||
from app_admin.decorators import superuser_only
|
||||
import json
|
||||
import datetime
|
||||
@ -209,8 +209,8 @@ def admin_del_user(request):
|
||||
@superuser_only
|
||||
def admin_project(request):
|
||||
if request.method == 'GET':
|
||||
username = request.GET.get('kw','')
|
||||
if username == '':
|
||||
search_kw = request.GET.get('kw','')
|
||||
if search_kw == '':
|
||||
project_list = Project.objects.all()
|
||||
paginator = Paginator(project_list,20)
|
||||
page = request.GET.get('page',1)
|
||||
@ -221,15 +221,17 @@ def admin_project(request):
|
||||
except EmptyPage:
|
||||
projects = paginator.page(paginator.num_pages)
|
||||
else:
|
||||
project_list = Project.objects.filter(intro__icontains=username)
|
||||
project_list = Project.objects.filter(intro__icontains=search_kw)
|
||||
paginator = Paginator(project_list, 20)
|
||||
page = request.GET.get('page', 1)
|
||||
|
||||
try:
|
||||
projects = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
projects = paginator.page(1)
|
||||
except EmptyPage:
|
||||
projects = paginator.page(paginator.num_pages)
|
||||
projects.kw = search_kw
|
||||
return render(request,'app_admin/admin_project.html',locals())
|
||||
else:
|
||||
return HttpResponse('方法错误')
|
||||
@ -260,6 +262,7 @@ def admin_doc(request):
|
||||
docs = paginator.page(1)
|
||||
except EmptyPage:
|
||||
docs = paginator.page(paginator.num_pages)
|
||||
docs.kw = kw
|
||||
return render(request,'app_admin/admin_doc.html',locals())
|
||||
|
||||
|
||||
@ -288,6 +291,7 @@ def admin_doctemp(request):
|
||||
doctemps = paginator.page(1)
|
||||
except EmptyPage:
|
||||
doctemps = paginator.page(paginator.num_pages)
|
||||
doctemps.kw = kw
|
||||
return render(request,'app_admin/admin_doctemp.html',locals())
|
||||
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
from django.shortcuts import render
|
||||
from django.http.response import JsonResponse,Http404,HttpResponseNotAllowed,HttpResponse
|
||||
from django.contrib.auth.decorators import login_required # 登录需求装饰器
|
||||
from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage,InvalidPage # 后端分页
|
||||
from app_doc.models import Project,Doc,DocTemp
|
||||
from django.contrib.auth.models import User
|
||||
from django.db.models import Q
|
||||
@ -22,7 +23,7 @@ def create_project(request):
|
||||
if name != '':
|
||||
project = Project.objects.create(
|
||||
name=name,
|
||||
intro=desc,
|
||||
intro=desc[:100],
|
||||
create_user=request.user
|
||||
)
|
||||
project.save()
|
||||
@ -69,7 +70,7 @@ def modify_project(request):
|
||||
try:
|
||||
pro_id = request.POST.get('pro_id',None)
|
||||
project = Project.objects.get(id=pro_id)
|
||||
if request.user == project.create_user:
|
||||
if (request.user == project.create_user) or request.user.is_superuser:
|
||||
name = request.POST.get('name',None)
|
||||
content = request.POST.get('desc',None)
|
||||
project.name = name
|
||||
@ -91,7 +92,7 @@ def del_project(request):
|
||||
pro_id = request.POST.get('pro_id','')
|
||||
if pro_id != '':
|
||||
pro = Project.objects.get(id=pro_id)
|
||||
if request.user == pro.create_user:
|
||||
if (request.user == pro.create_user) or request.user.is_superuser:
|
||||
# 删除文集下的文档
|
||||
pro_doc_list = Doc.objects.filter(top_doc=int(pro_id))
|
||||
pro_doc_list.delete()
|
||||
@ -114,8 +115,25 @@ def manage_project(request):
|
||||
search_kw = request.GET.get('kw', None)
|
||||
if search_kw:
|
||||
pro_list = Project.objects.filter(create_user=request.user,intro__icontains=search_kw)
|
||||
paginator = Paginator(pro_list, 10)
|
||||
page = request.GET.get('page', 1)
|
||||
try:
|
||||
pros = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
pros = paginator.page(1)
|
||||
except EmptyPage:
|
||||
pros = paginator.page(paginator.num_pages)
|
||||
pros.kw = search_kw
|
||||
else:
|
||||
pro_list = Project.objects.filter(create_user=request.user)
|
||||
paginator = Paginator(pro_list, 10)
|
||||
page = request.GET.get('page', 1)
|
||||
try:
|
||||
pros = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
pros = paginator.page(1)
|
||||
except EmptyPage:
|
||||
pros = paginator.page(paginator.num_pages)
|
||||
return render(request,'app_doc/manage_project.html',locals())
|
||||
except Exception as e:
|
||||
return HttpResponse('请求出错')
|
||||
@ -248,8 +266,25 @@ def manage_doc(request):
|
||||
search_kw = request.GET.get('kw',None)
|
||||
if search_kw:
|
||||
doc_list = Doc.objects.filter(create_user=request.user,content__icontains=search_kw)
|
||||
paginator = Paginator(doc_list, 10)
|
||||
page = request.GET.get('page', 1)
|
||||
try:
|
||||
docs = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
docs = paginator.page(1)
|
||||
except EmptyPage:
|
||||
docs = paginator.page(paginator.num_pages)
|
||||
docs.kw = search_kw
|
||||
else:
|
||||
doc_list = Doc.objects.filter(create_user=request.user)
|
||||
paginator = Paginator(doc_list, 10)
|
||||
page = request.GET.get('page', 1)
|
||||
try:
|
||||
docs = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
docs = paginator.page(1)
|
||||
except EmptyPage:
|
||||
docs = paginator.page(paginator.num_pages)
|
||||
return render(request,'app_doc/manage_doc.html',locals())
|
||||
else:
|
||||
return HttpResponse('方法不允许')
|
||||
@ -340,8 +375,25 @@ def manage_doctemp(request):
|
||||
search_kw = request.GET.get('kw', None)
|
||||
if search_kw:
|
||||
doctemp_list = DocTemp.objects.filter(create_user=request.user,content__icontains=search_kw)
|
||||
paginator = Paginator(doctemp_list, 10)
|
||||
page = request.GET.get('page', 1)
|
||||
try:
|
||||
doctemps = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
doctemps = paginator.page(1)
|
||||
except EmptyPage:
|
||||
doctemps = paginator.page(paginator.num_pages)
|
||||
doctemps.kw = search_kw
|
||||
else:
|
||||
doctemp_list = DocTemp.objects.filter(create_user=request.user)
|
||||
paginator = Paginator(doctemp_list, 10)
|
||||
page = request.GET.get('page', 1)
|
||||
try:
|
||||
doctemps = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
doctemps = paginator.page(1)
|
||||
except EmptyPage:
|
||||
doctemps = paginator.page(paginator.num_pages)
|
||||
return render(request, 'app_doc/manage_doctemp.html', locals())
|
||||
except Exception as e:
|
||||
return HttpResponse('请求出错')
|
||||
|
||||
@ -44,13 +44,94 @@
|
||||
.project-item{
|
||||
float: left;
|
||||
width: 200px;
|
||||
height: 120px;
|
||||
/*height: 120px;*/
|
||||
margin-top: 20px;
|
||||
margin-left: 20px;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,.055);
|
||||
}
|
||||
.project-desc{
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis; /* 加省略号 */
|
||||
white-space:nowrap; /* 强制不换行 */
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
display: inline;
|
||||
/*position: relative;*/
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
/* Gap filler */
|
||||
|
||||
.tooltip-item::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 360px;
|
||||
height: 20px;
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
pointer-events: none;
|
||||
-webkit-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.tooltip:hover .tooltip-item::after {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
/* 文集简介提示工具 */
|
||||
|
||||
.tooltip-content {
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
width: 170px;
|
||||
left: 78%;
|
||||
margin: 0 -60px 20px -150px;
|
||||
padding:10px;
|
||||
top: 100%;
|
||||
text-align: left;
|
||||
box-shadow: -5px -5px 15px rgba(48,54,61,0.2);
|
||||
background: #2a3035;
|
||||
opacity: 0;
|
||||
cursor: default;
|
||||
pointer-events: none;
|
||||
font-size: 0.68em;
|
||||
line-height: 1.35;
|
||||
display: block;
|
||||
color: #fff;
|
||||
-webkit-transform: translate3d(0,-10px,0);
|
||||
transform: translate3d(0,-10px,0);
|
||||
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
|
||||
transition: opacity 0.3s, transform 0.3s;
|
||||
}
|
||||
|
||||
.tooltip:hover .tooltip-content {
|
||||
pointer-events: auto;
|
||||
opacity: 1;
|
||||
-webkit-transform: translate3d(0,0,0) rotate3d(0,0,0,0);
|
||||
transform: translate3d(0,0,0) rotate3d(0,0,0,0);
|
||||
}
|
||||
|
||||
/* 箭头 */
|
||||
|
||||
.tooltip-content::after {
|
||||
content: '';
|
||||
bottom: 100%; /* 箭头在头部 */
|
||||
left: 50%;
|
||||
border: solid transparent;
|
||||
height: 0;
|
||||
width: 0;
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #2a3035;
|
||||
border-width: 10px;
|
||||
/*margin-left: 10px;8*/
|
||||
}
|
||||
|
||||
|
||||
.layui-card{
|
||||
box-shadow:0 0 0 0;
|
||||
}
|
||||
@ -242,7 +323,7 @@ li.active > a{
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 返回顶部 */
|
||||
.toTop {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
@ -264,7 +345,7 @@ li.active > a{
|
||||
cursor: pointer;
|
||||
color: red;
|
||||
}
|
||||
|
||||
/*切换字号*/
|
||||
.switch-font{
|
||||
font-family: Serif;
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
{# <img src="/media/logo-white.png" />#}
|
||||
<h1 style="color: white;">
|
||||
<strong>MrDoc</strong>
|
||||
<span style="font-size: 16px;">后台管理</span>
|
||||
<span style="font-size: 14px;" class="layui-badge-rim">后台管理</span>
|
||||
</h1>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -56,13 +56,13 @@
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if docs.has_previous %}
|
||||
<a href="?page={{ docs.previous_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
<a href="?page={{ docs.previous_page_number }}&kw={{docs.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ docs.number }} 共 {{ docs.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if docs.has_next %}
|
||||
<a href="?page={{ docs.next_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
<a href="?page={{ docs.next_page_number }}&kw={{docs.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -55,13 +55,13 @@
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if doctemps.has_previous %}
|
||||
<a href="?page={{ doctemps.previous_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
<a href="?page={{ doctemps.previous_page_number }}&kw={{doctemps.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ doctemps.number }} 共 {{ doctemps.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if doctemps.has_next %}
|
||||
<a href="?page={{ doctemps.next_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
<a href="?page={{ doctemps.next_page_number }}&kw={{doctemps.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -21,6 +21,14 @@
|
||||
</div>
|
||||
<div class="layui-row" lay-skin="line">
|
||||
<table class="layui-table" id="doctemp-list" lay-skin="line">
|
||||
<colgroup>
|
||||
<col width="100">
|
||||
<col width="300">
|
||||
<col width="40">
|
||||
<col width="50">
|
||||
<col width="50">
|
||||
<col width="50">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>文集名称</th>
|
||||
@ -55,13 +63,13 @@
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if projects.has_previous %}
|
||||
<a href="?page={{ projects.previous_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
<a href="?page={{ projects.previous_page_number }}&kw={{projects.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ projects.number }} 共 {{ projects.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if projects.has_next %}
|
||||
<a href="?page={{ projects.next_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
<a href="?page={{ projects.next_page_number }}&kw={{projects.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -64,7 +64,19 @@
|
||||
var editor = editormd("editor-md", {
|
||||
width : "100%",
|
||||
height : "1000px;",
|
||||
placeholder : "开始使用Markdown书写……",
|
||||
placeholder : "开始使用Markdown书写MrDoc文档……\n编辑器支持粘贴上传图片",
|
||||
toolbarIcons : function() {
|
||||
return [
|
||||
"undo", "redo", "|",
|
||||
"bold", "del", "italic", "quote", "ucwords", "uppercase", "lowercase", "|",
|
||||
"h1", "h2", "h3", "h4", "h5", "h6", "|",
|
||||
"list-ul", "list-ol", "hr", "|",
|
||||
"link", "reference-link", "image", "code", "preformatted-text", "code-block", "table", "datetime", "emoji", "html-entities", "pagebreak", "|",
|
||||
"watch", "preview", "clear", "search", "|",
|
||||
"help"
|
||||
]
|
||||
},
|
||||
pageBreak : true, //分页符
|
||||
path : "/static/editor.md/lib/",
|
||||
saveHTMLToTextarea : true,
|
||||
tex : true,//开启科学公式
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
title:'新建文集',
|
||||
area:'300px;',
|
||||
id:'createPro',//配置ID
|
||||
content:'<div style="padding: 20px;"><input class="layui-input" type="text" id="pname" style="margin-bottom:10px;" placeholder="输入文集名" required lay-verify="required"><textarea name="desc" id="desc" placeholder="输入文集简介" class="layui-textarea"></textarea></div>',
|
||||
content:'<div style="padding: 20px;"><input class="layui-input" type="text" id="pname" style="margin-bottom:10px;" placeholder="输入文集名" required lay-verify="required"><textarea name="desc" id="desc" placeholder="输入文集简介,不超过100个字,超出将被截断" maxlength="100" class="layui-textarea"></textarea></div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
@ -107,17 +107,25 @@
|
||||
'sort':$("#sort").val(),
|
||||
}
|
||||
console.log(data)
|
||||
$.post("{% url 'create_doc' %}",data,function(r){
|
||||
if(r.status){
|
||||
//创建成功
|
||||
layer.msg('保存成功',function(){
|
||||
window.location.href = "{% url 'pro_list' %}";
|
||||
});
|
||||
}else{
|
||||
//创建失败
|
||||
layer.msg('保存失败');
|
||||
}
|
||||
});
|
||||
if(data.doc_name == ""){
|
||||
layer.msg('请输入文档标题!');
|
||||
}
|
||||
else if(data.project == ""){
|
||||
layer.msg('请选择文集!');
|
||||
}
|
||||
else{
|
||||
$.post("{% url 'create_doc' %}",data,function(r){
|
||||
if(r.status){
|
||||
//创建成功
|
||||
layer.msg('保存成功',function(){
|
||||
window.location.href = "{% url 'pro_list' %}";
|
||||
});
|
||||
}else{
|
||||
//创建失败
|
||||
layer.msg('保存失败:'+r.data);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
//选择文档模板
|
||||
$("#sel-doctemp").click(function(){
|
||||
|
||||
@ -21,7 +21,10 @@
|
||||
<div class="layui-logo">
|
||||
<a class="logo" href="{% url 'pro_list' %}">
|
||||
{# <img src="/media/logo-white.png" />#}
|
||||
<h1 style="color: white;"><strong>MrDoc</strong></h1>
|
||||
<h1 style="color: white;">
|
||||
<strong>MrDoc</strong>
|
||||
<span style="font-size: 14px;" class="layui-badge-rim">个人中心</span>
|
||||
</h1>
|
||||
</a>
|
||||
</div>
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
<form action="{% url 'manage_doc' %}" method="get">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="kw" id="kw" required lay-verify="required" placeholder="输入文档内容" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="kw" id="kw" placeholder="输入文档内容" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal" type="submit">搜索</button>
|
||||
<button class="layui-btn layui-btn-normal"><a href="{% url 'create_doc' %}" target="_blank">新建文档</a></button>
|
||||
@ -38,7 +38,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
{% load doc_filter %}
|
||||
{% for doc in doc_list %}
|
||||
{% for doc in docs %}
|
||||
<tr>
|
||||
<td>{{ doc.name }}</td>
|
||||
<td>{{ doc.parent_doc|get_doc_parent }}</td>
|
||||
@ -54,6 +54,22 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 分页 -->
|
||||
<div class="layui-row">
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if docs.has_previous %}
|
||||
<a href="?page={{ docs.previous_page_number }}&kw={{docs.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ docs.number }} 共 {{ docs.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if docs.has_next %}
|
||||
<a href="?page={{ docs.next_page_number }}&kw={{docs.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block custom_script %}
|
||||
<script>
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
<form action="{% url 'manage_doctemp' %}" method="get">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="kw" id="kw" required lay-verify="required" placeholder="输入文档模板内容" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="kw" id="kw" placeholder="输入文档模板内容" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal" type="submit">搜索</button>
|
||||
<button class="layui-btn layui-btn-normal" type="button"><a href="{% url 'create_doctemp' %}" target="_blank">新建文档模板</a></button>
|
||||
@ -34,7 +34,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for temp in doctemp_list %}
|
||||
{% for temp in doctemps %}
|
||||
<tr>
|
||||
<td>{{ temp.name }}</td>
|
||||
<td>{{ temp.create_time }}</td>
|
||||
@ -48,6 +48,22 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 分页 -->
|
||||
<div class="layui-row">
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if doctemps.has_previous %}
|
||||
<a href="?page={{ doctemps.previous_page_number }}&kw={{doctemps.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ doctemps.number }} 共 {{ doctemps.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if doctemps.has_next %}
|
||||
<a href="?page={{ doctemps.next_page_number }}&kw={{doctemps.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block custom_script %}
|
||||
<script>
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
<form action="{% url 'manage_project' %}" method="get">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="kw" id="kw" required lay-verify="required" placeholder="输入文集内容" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="kw" id="kw" placeholder="输入文集内容" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal" type="submit">搜索</button>
|
||||
<button class="layui-btn layui-btn-normal" onclick="createProject()" type="button">新建文集</button>
|
||||
@ -21,11 +21,12 @@
|
||||
</div>
|
||||
<div class="layui-row" lay-skin="line">
|
||||
<table class="layui-table" id="doctemp-list" lay-skin="line">
|
||||
{# <colgroup>#}
|
||||
{# <col width="200">#}
|
||||
{# <col width="200">#}
|
||||
{# <col>#}
|
||||
{# </colgroup>#}
|
||||
<colgroup>
|
||||
<col width="100">
|
||||
<col width="400">
|
||||
<col width="100">
|
||||
<col width="100">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>文集名称</th>
|
||||
@ -35,7 +36,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for pro in pro_list %}
|
||||
{% for pro in pros %}
|
||||
<tr>
|
||||
<td>{{ pro.name }}</td>
|
||||
<td>{{ pro.intro }}</td>
|
||||
@ -50,6 +51,22 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 分页 -->
|
||||
<div class="layui-row">
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if pros.has_previous %}
|
||||
<a href="?page={{ pros.previous_page_number }}&kw={{pros.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ pros.number }} 共 {{ pros.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if pros.has_next %}
|
||||
<a href="?page={{ pros.next_page_number }}&kw={{pros.kw}}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block custom_script %}
|
||||
<script>
|
||||
|
||||
@ -59,7 +59,10 @@
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<p>作者:{{p.create_user}}</p>
|
||||
<p>简介:{{ p.intro }}</p>
|
||||
<p class="tooltip">简介:
|
||||
<span class="">{{ p.intro | slice:'16' }}…</span>
|
||||
<span class="tooltip-content clearfix">{{ p.intro }}</span>
|
||||
</p>
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user