如何用Django实现简易电子文档管理系统
这是一个简易的电子文档管理系统,可以实现通过下拉列表获取相应的文档资料,也可以删除文档。
首先我们需要在models.py中写两个类
一个是下拉列表中需要的内容,另一个则是form表单里需要的数据。
接着我们需要进行数据迁移。
如果我们直接进行数据迁移的话会报错,因为我们还没有在setting中配置。
事实上,还有POST和PORT,因为在本机上进行操作,所以可以不用填写。
实际上setting中我们还需要配置如下几个:
我们使用哪个APP,就在INSTALLED_APPS下添加APP的名字。
还需要在在TEMPLATES里的DIRS中输入
'DIRS': [os.path.join(BASE_DIR,'templates')],这样我们就可以使用templates啦。
我们现在可以开始数据库迁移了,通过快捷键ctrl+Alt+R打开manage.py
创建一个在APP下的migrations的数据库
相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件
所以得数据迁移。
在manage.py中输入 migrate doecuser 0001。
这样我们就可以在数据库里看到我们创建的表啦。
我们 接着得在页面上写一个表,首先在templates下创立一个叫doceuser的文件夹,在里面建立一个HTML文件。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> *{margin: 0;,padding:0;} .main{width: 600px;height: 400px;margin: 50px auto ;} /*.Select{width: 300px;background: yellowgreen;}*/ .Select1{margin: 20px auto ;width: 100px;height: 20px;} .Select1 select{height: 22px;} .tab1{width: 600px;} .tr1{height: 30px;background: brown;} .tr2{height: 30px;} </style> </head> <body> <div class="main"> <form action='' method="post"> {% csrf_token %} <div class="Select"> <div class="Select1"> <select name="option" > <option value="0">全部</option> <option value="{{ foo.id }}">{{ foo.name }}</option> <input type="submit" name="" id="" value="提交" /> </select> </div> </div> <div class=" tab"> <table border="1" cellspacing="" cellpadding="" class="tab1"> <tr class='tr1'> <td>文档编号</td> <td >文档名称</td> <td >文档摘要</td> <td>上传人</td> <td >上传日期</td> <td>操作</td> </tr> <tr class="tr2"> <td>{{k.id}}</td> <td>{{ k.doc_name}}</td> <td>{{ k.doc_main }}</td> <td>{{ k.up_name }}</td> <td>{{ k.up_time }}</td> <td><a href="">删除</a></td> </tr > </table> </div> </form> </div> </body> </html>
在数据库里随便填写一些数据
写好了表格,我们需要将表格和数据库连接。
我们需要在views.py里这样写:
接着需要配置urls.py。
我们可以在doec的urls.py中给它一个叫 user 的命名空间
这里记得在decouser 的urls.py配置时记得先写 app_name='user'
单单这样是不能看到我们表格里的内容的,还需要修改一下HTML里的代码
通过循环遍历得到master.name和master.id。即数据库里的第一张表ID和名字
这样我们就可以在页面中看到这张表格啦。
接着再实现通过提交下拉列表中的选项,列表自动显示出相应的文档。
我们在页面中显示出的画面是通过GET方式提交的,因此我们对它进行判断如果它是同POST提交的话,提交全部,就显示全部,提交JAVA就只显示文档名称是JAVA的。
做到这里我们就可以同过下拉列表查询我们想要的文档啦。
至此,只剩下最后一步,如何删除。
通过删除过滤的id,返回重定向,就完成了删除。
emmmm,其实是骗你的。
a标签的链接咱还没写呢,urls.py也没配置呢。
一定要在dele后面添加删除的ID不然电脑不知道删除啥。