django 创建电子文档列表

创建一个document项目,在项目中添加ment.app:  按 ctrl+alt+r输入 startapp ment 建立 ment. app

在templates文件中创建ment目录,在目录中加入add.html文件

 先创建一个add.html文件,在网页中间个表格

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{margin: 0; padding: 0; }
        form{margin-left: 60px;margin-top: 2px;}
        .head{border: 1px red solid; width: 670px; background: gainsboro;}
        .tit{width: 670px; text-align: center; margin-top: -5px;margin-bottom: 10px;}
        .too{width: 200px;border: 1px red solid;text-align: center;}
        .three{width: 200px;border: 1px red solid;text-align: center;}
        .five{width: 100px;border: 1px red solid;text-align: center;}
        tr>td{border: 1px red solid;}
    </style>
</head>
<body>
    <div class="head">
        <form action="queryEdoc" method="post">
        {% csrf_token %}
            文档分类:<select name="category" id="">
            <option value="0">全部</option>
                <option value="{{ master.id }}">{{ master.dom_Name }}</option>
        </select>
            <input type="submit" name="" id="btn" value="查询">
        </form><br />
    <div class="tit"><h2>电子文档列表</h2></div>
    <table>
        <tr>
            <td>文档编号</td>
            <td class="too">文档名称</td>
            <td class="three">文档摘要</td>
            <td class="four">上传人</td>
            <td class="five">上传时间</td>
            <td>操作</td>
        </tr>
        <tr>
            <td>{{ c.id }}</td>
            <td class="too">{{ c.dom_Name }}</td>
            <td class="three">{{ c.dom_Abstract }}</td>
            <td class="four">{{ c.up_userName }}</td>
            <td class="five">{{ c.up_Time }}</td>
            <td><a href="delclassify/{{ c.id }}">删除</a></td>
        </tr>
    </table>
    <div>
        <a href="#">首页</a>
        <a href="#">上一页</a>
        <a href="#">下一页</a>
        <a href="#">末页</a>
        <span>第1页/第2页</span>
    </div>
</div>
</body>
</html>

表格创建好后,建立数据库, 在mysql中创建document_db数据库

django 创建电子文档列表

在document/settings.py文件中修改代码,

1. 在settings.py 下的INSTALLED_APPS加人app(ment)

django 创建电子文档列表

2. 在settings.py 下的TEMPLATES加人'DIRS':[os.path.join(BASE_DIR.'templates')],

django 创建电子文档列表

3.   在settings.py 下的DATABASES加入要关联的数据库

django 创建电子文档列表

创建模板

进入ment/models.py文件,写入Master 和 Classify 两个类  在这里Master 和 Classify两个类会生成两个表

django 创建电子文档列表

Classify类里的master是设置外键,是为了包生成的两个表关联字一起

在bocument_db数据库中生成以上的两个表,按ctrl+alt+r输入 makemigrations ment 生成一个0001的文件

django 创建电子文档列表

按ctrl+alt+r输入 makemigrations ment 0001 在bocument_db数据库中生成以上的两个表

django 创建电子文档列表

在ment_master表中添加数据

django 创建电子文档列表

在ment_classify表中添加数据

django 创建电子文档列表

设置表格的一些功能,在ment/views.py文件下创建需要的功能函数,查询,删除

在views。py中导入render,redirect,reverse,models 这几个模块

from django.shortcuts import render,redirect,reverse
from .models import *

# Create your views here.
def queryEdoc(request):
    masterQuerySet = None
    classifyQuerySet = None
    if request.method == 'GET':
        #查询分类表和条目表所有数据
        masterQuerySet = Master.objects.all()
        classifyQuerySet = Classify.objects.all()
    else:
        masterQuerySet = Master.objects.all()
        cid = int(request.POST.get("category"))
        classifyQuerySet = Classify.objects.filter(master_id=cid)# 外键id master_id
        return render(request,"ment/add.html",
                {'masterSet':masterQuerySet,'classSet':classifyQuerySet})
def delclassify(request,id):#这里的id是获取要删除的id
    #通过id删除这一行
    Classify.objects.filter(id=id).delete()
    #重新查询所有
    cs = Classify.objects.all()
    ms = Master.objects.all()
    #返回页面,得到两个集合
    return render(request,'ment/add.html',{'masterSet': ms,'classify': cs})

配置路径document/urls.py中设置 导入 include 模块

django 创建电子文档列表

设置ment/urls.py路径,先创建urls.py文件

django 创建电子文档列表

在这里还要重新修改add,html文件里的内容,为了能把数据库里的内容更好的显示出来,要进行遍历

遍历下拉列表

<form action="querEdoc" method="post">
{% csrf_token %}
    文档分类:<select name="category" id="">
    <option value="0">全部</option>
    {% for master in masterSet %}
        <option value="{{ master.id }}">{{ master.dom_Name }}</option>
    {% endfor %}
</select>
    <input type="submit" name="" id="btn" value="查询">
</form><br />

遍历ment_classify表里的数据,添加内容

{% for c in classSet %}
<tr>
    <td>{{ c.id }}</td>
    <td class="too">{{ c.dom_Name }}</td>
    <td class="three">{{ c.dom_Abstract }}</td>
    <td class="four">{{ c.up_userName }}</td>
    <td class="five">{{ c.up_Time }}</td>
    <td><a href="delclassify/{{ c.id }}">删除</a></td>
</tr>
{% endfor %}